void PlugInOp::Do(OpDescriptor* pOpDesc) { if (pOpDesc == NULL) { ERROR3IF(pOpDesc == NULL,"PlugInOp::Do null OpDescriptor"); return; } //ERROR3("PlugInOp - do"); // Search the plug-ins list for the specified plug-in and invoke it PlugInManager* pManager = GetApplication()->GetPlugInManager(); if (pManager == NULL) return; PlugInItem * pPlugIn = pManager->GetFirstPlugIn(); String_32 OpToken; while (pPlugIn) { OpToken = pPlugIn->GetUniqueID(); OpToken += pPlugIn->GetPlugInName(); if (pOpDesc->Token == OpToken) pPlugIn->About(); pPlugIn = pManager->GetNextPlugIn(pPlugIn); } // and finish End(); }
void PlugInUndoOp::Do(OpDescriptor* pOpDesc) { if (pOpDesc == NULL) { ERROR3IF(pOpDesc == NULL,"PlugInUndoOp::Do null OpDescriptor"); return; } //ERROR3("PlugInUndoOp - do"); // Store away a copy of the OpDescriptor for later use m_pOpDesc = pOpDesc; // Search the plug-ins list for the specified plug-in and invoke it PlugInManager* pManager = GetApplication()->GetPlugInManager(); if (pManager == NULL) return; PlugInItem * pPlugIn = pManager->GetFirstPlugIn(); String_32 OpToken; while (pPlugIn) { OpToken = pPlugIn->GetUniqueID(); OpToken += pPlugIn->GetPlugInName(); if (pOpDesc->Token == OpToken) { // Do Something break; } pPlugIn = pManager->GetNextPlugIn(pPlugIn); } // If we reached here then everything has happened ok and we can just end the // operation and exit End(); return; }