XERCES_CPP_NAMESPACE_USE PlugInDescriptorImp::PlugInDescriptorImp(const string& id, PlugIn* pPlugIn) : SessionItemImp(id), mPlugInNumber(0), mProductionStatus(false), mAllowMultipleInstances(false), mExecutableInterface(false), mExecuteOnStartup(false), mDestroyAfterExecute(true), mAbort(false), mWizardSupport(false), mBatchSupport(false), mInteractiveSupport(false), mpBatchInArgList(NULL), mpInteractiveInArgList(NULL), mpBatchOutArgList(NULL), mpInteractiveOutArgList(NULL), mImporterInterface(false), mExporterInterface(false), mInterpreterInterface(false), mTestableInterface(false), mTestable(false) { if (pPlugIn != NULL) { setName(pPlugIn->getName()); mVersion = pPlugIn->getVersion(); mProductionStatus = pPlugIn->isProduction(); mCreator = pPlugIn->getCreator(); mCopyright = pPlugIn->getCopyright(); mDependencyCopyright = pPlugIn->getDependencyCopyright(); mDescription = pPlugIn->getDescription(); mShortDescription = pPlugIn->getShortDescription(); mType = pPlugIn->getType(); mSubtype = pPlugIn->getSubtype(); mAllowMultipleInstances = pPlugIn->areMultipleInstancesAllowed(); if (Service<ApplicationServices>()->isInteractive()) { setIcon(pPlugIn->getIcon()); } Executable* pExecutable = dynamic_cast<Executable*>(pPlugIn); if (pExecutable != NULL) { mExecutableInterface = true; mExecuteOnStartup = pExecutable->isExecutedOnStartup(); mDestroyAfterExecute = pExecutable->isDestroyedAfterExecute(); mMenuLocations = pExecutable->getMenuLocations(); mAbort = pExecutable->hasAbort(); mWizardSupport = pExecutable->hasWizardSupport(); mBatchSupport = pExecutable->setBatch(); if (mBatchSupport) { pExecutable->getInputSpecification(mpBatchInArgList); pExecutable->getOutputSpecification(mpBatchOutArgList); } mInteractiveSupport = pExecutable->setInteractive(); if (mInteractiveSupport) { pExecutable->getInputSpecification(mpInteractiveInArgList); pExecutable->getOutputSpecification(mpInteractiveOutArgList); } } Importer* pImporter = dynamic_cast<Importer*>(pPlugIn); if (pImporter != NULL) { mImporterInterface = true; mFileExtensions = pImporter->getDefaultExtensions(); } Exporter* pExporter = dynamic_cast<Exporter*>(pPlugIn); if (pExporter != NULL) { mExporterInterface = true; mFileExtensions = pExporter->getDefaultExtensions(); } InterpreterManager* pInterpreter = dynamic_cast<InterpreterManager*>(pPlugIn); if (pInterpreter != NULL) { mInterpreterInterface = true; mFileExtensions = pInterpreter->getFileExtensions(); } Testable* pTestable = dynamic_cast<Testable*>(pPlugIn); if (pTestable != NULL) { mTestableInterface = true; mTestable = true; } } addPropertiesPage(PropertiesPlugInDescriptor::getName()); }