00001 #ifndef _FOOBAR2000_MASSTAG_ACTION_H_
00002 #define _FOOBAR2000_MASSTAG_ACTION_H_
00003
00004 class NOVTABLE masstagger_action : public service_base
00005 {
00006 public:
00011 virtual void get_name(pfc::string_base & p_out)=0;
00012
00018 virtual bool initialize(HWND p_parent) = 0;
00019
00025 virtual bool initialize_fromconfig(const char * p_data)=0;
00026
00032 virtual bool configure(HWND p_parent) = 0;
00033
00039 virtual void get_display_string(pfc::string_base & p_name) = 0;
00040
00045 virtual void get_config(pfc::string_base & p_data) = 0;
00046
00054 virtual void run(const playable_location & p_location, file_info * p_info, t_size p_index, t_size p_count) = 0;
00055
00061 virtual const GUID & get_guid()=0;
00062
00063 FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(masstagger_action);
00064 };
00065
00066 DECLARE_CLASS_GUID(masstagger_action,0x49da1f6c, 0x6744, 0x47f3, 0xbf, 0x93, 0x67, 0x1c, 0x37, 0x79, 0xff, 0xcd);
00067
00068 template<typename T>
00069 class masstagger_action_factory_t : public service_factory_t<T> {};
00070
00071 #endif //_FOOBAR2000_MASSTAG_ACTION_H_