HRESULT CPluginTable::FinalConstruct() { RETURN_IF_FAILED(AddObject(CLSID_PictureWindow, L"Picture window object")); RETURN_IF_FAILED(AddObject(CLSID_TimelineControl, L"Timeline control object")); RETURN_IF_FAILED(AddObject(CLSID_UserAccountControl, L"User account control object")); RETURN_IF_FAILED(AddObject(CLSID_UserInfoControl, L"User info control object")); RETURN_IF_FAILED(AddObject(CLSID_TwitViewControl, L"Twit view control object")); RETURN_IF_FAILED(AddObject(CLSID_SearchTimelineControl, L"Search timeline control object")); RETURN_IF_FAILED(AddObject(CLSID_ListTimelineControl, L"List timeline control object")); RETURN_IF_FAILED(AddObject(CLSID_ScrollControl, L"Scroll control")); RETURN_IF_FAILED(AddObject(CLSID_AnimationService, L"Animation service")); RETURN_IF_FAILED(AddObject(CLSID_ImageViewControl, L"Image view control")); RETURN_IF_FAILED(AddObject(CLSID_VideoViewControl, L"Video view control")); RETURN_IF_FAILED(AddObject(CLSID_FollowingControl, L"Following control")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_CONTAINERWINDOW, CONTROL_TABCONTAINER, CLSID_CustomTabControl, _T("Skin tab control"))); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, CLSID_HomeTimeLineControl, CLSID_HomeTimeLineControl, L"Home timeline control")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, CLSID_ListsControl, CLSID_ListsControl, L"Lists control")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, CLSID_SearchControl, CLSID_SearchControl, L"Search control")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, CLSID_SettingsControl, CLSID_SettingsControl, L"Settings control")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_TIMELINE_CONTROL, PVIEWTYPE_COMMAND, CLSID_TimelineControlCopyCommand, CLSID_TimelineControlCopyCommand, L"Copy commands for timeline control")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_TIMELINE_CONTROL, PVIEWTYPE_COMMAND, CLSID_TimelineControlOpenInBrowserCommand, CLSID_TimelineControlOpenInBrowserCommand, L"Open in browser command for timeline control")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_PICTUREWINDOW_CONTROL, PVIEWTYPE_WINDOW_SERVICE, CLSID_AnimationService, CLSID_AnimationService, L"Animation service for picture window")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_PICTUREWINDOW_CONTROL, PVIEWTYPE_COMMAND, CLSID_PictureWindowCopyCommand, CLSID_PictureWindowCopyCommand, L"Copy commands for picture window")); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_PICTUREWINDOW_CONTROL, PVIEWTYPE_COMMAND, CLSID_PictureWindowSaveCommand, CLSID_PictureWindowSaveCommand, L"Save command for picture window")); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_USERINFO_CONTROL, PVIEWTYPE_WINDOW_SERVICE, SERVICE_ANIMATION_BACKGROUND, CLSID_AnimationService, L"Animation service for background image")); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_USERINFO_CONTROL, PVIEWTYPE_WINDOW_SERVICE, SERVICE_ANIMATION_USER_IMAGE, CLSID_AnimationService, L"Animation service for user image")); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_USERINFO_CONTROL, PVIEWTYPE_WINDOW_SERVICE, SERVICE_ANIMATION_USER_TEXT, CLSID_AnimationService, L"Animation service for user text")); return S_OK; }
static void AddPluginName(const char *csPluginName, const std::string & csPath) { if (StartsWith(csPluginName, "siscardplugin1") || StartsWith(csPluginName, "libsiscardplugin1")) { const char *ptr1 = strstr(csPluginName, "__"); const char *ptr2 = (ptr1 == NULL ? NULL : strstr(ptr1 + 2, "__")); if (ptr2 != NULL && ptr2 - ptr1 < 200) { ptr1 += 2; char csReaderName[200]; memcpy(csReaderName, ptr1, ptr2 - ptr1); csReaderName[ptr2 - ptr1] = '\0'; if (memcmp(csReaderName, "ACS_ACR38U", sizeof("ACS_ACR38U"))==0) // r269 memcpy(csReaderName, "ACS ACR38U", sizeof("ACS ACR38U")); AddPluginInfo(csPath, csReaderName); } } }
HRESULT CPluginTable::FinalConstruct() { RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_COMMAND, COMMAND_COMMANDS, CLSID_CommandsCommand, _T("Commands menu item"))); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_COMMAND, COMMAND_DOTNETINFO, CLSID_DotNetInfoCommand, _T("Dot net info view command"))); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_COMMAND, COMMAND_HEAPSTAT, CLSID_HeapStatCommand, _T("Heap stat view command"))); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_COMMAND, COMMAND_THREADS, CLSID_ThreadsCommand, _T("Threads info view command"))); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_COMMAND, COMMAND_BUILD_INDEX, CLSID_BuildIndexCommand, _T("Build sosex index view command"))); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_DOTNETINFO, CLSID_SimpleListView, _T("Dot net info command view form"))); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_HEAPSTAT, CLSID_SimpleListView, _T("Heap stat command view form"))); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_OBJECTS, CLSID_SimpleListView, _T("Objects command view form"))); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_OBJECT_PROPS, CLSID_SimpleListView, _T("Object properties command view form"))); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_OBJECT_VALUES, CLSID_SimpleListView, _T("Object values command view form"))); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_THREADSINFO, CLSID_SimpleListView, _T("Threads info command view form"))); RETURN_IF_FAILED(AddPluginInfo(PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_HEAPSTAT, COMMAND_HEAPSTATVIEWCOMMANDS, CLSID_HeapStatViewCommands, _T("Heap stat view form context commands"))); RETURN_IF_FAILED(AddPluginInfo(PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_OBJECTS, COMMAND_OBJECTS, CLSID_ObjectsViewCommands, _T("Objects view form context commands"))); RETURN_IF_FAILED(AddPluginInfo(PVIEWTYPE_INPLACE_CONTROL, DBGCOMMAND_OBJECT_VALUES, COMMAND_OBJECTS, CLSID_ObjectsViewCommands, _T("Object values view form context commands"))); RETURN_IF_FAILED(AddPluginInfo(PNAMESP_HOSTFORM, PVIEWTYPE_WINDOW_SERVICE, SERVICE_COMMANDS_STATE, CLSID_CommandStateService, _T("Commands state service"))); RETURN_IF_FAILED(AddPluginInfoRemote(PNAMESP_HOSTFORM, PVIEWTYPE_WINDOW_SERVICE, SERVICE_MANAGED_DEBUG_SESSION_SERVICE, CLSID_ManagedDebugSessionService, _T("Managed debug session service"))); return S_OK; }