00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaPlugInCMInterfaces.h 00004 // 00005 // This file contains the definitions for Change Management System interface 00006 // classes. These include: 00007 // 00008 // ICMPlugInBase 00009 // This is an abstract base class which defines the common interfaces for 00010 // all Change Management System plug-ins. These interfaces are to support 00011 // the initialization of the plug-in and to get the array of protocols the 00012 // plug-in supports. 00013 // 00014 // ITracking 00015 // This class defines the interface to the Change Management System 00016 // Tracking plug-in. There are interfaces to begin and end the tracking 00017 // services. 00018 // 00019 // IExport 00020 // This class defines the interface to the Change Management System Export 00021 // plug-in. It supports an interface to export a full or incremental change 00022 // set using the specified protocol. 00023 // 00024 // 00025 // ***************************************************************************** 00026 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00027 // Integration Initiative, this material may not be copied, modified, 00028 // re-published, uploaded, executed, or distributed in any way, in any medium, 00029 // in whole or in part, without prior written permission from Cadence. 00030 // 00031 // Copyright 2007 Cadence Design Systems, Inc. 00032 // All Rights Reserved. 00033 // 00034 // $Author: icftcm $ 00035 // $Revision: #1 $ 00036 // $Date: 2007/03/20 $ 00037 // $State: Exp $ 00038 // ***************************************************************************** 00039 // ***************************************************************************** 00040 00041 00042 00043 #if !defined(oaPlugInCMInterfaces_P) 00044 #define oaPlugInCMInterfaces_P 00045 00046 00047 00048 // ***************************************************************************** 00049 // Nested Includes 00050 // ***************************************************************************** 00051 #include "oaPlugInTypes.h" 00052 #include "oaCommonIBase.h" 00053 00054 00055 00056 // ***************************************************************************** 00057 // Forward Declarations 00058 // ***************************************************************************** 00059 BEGIN_OA_NAMESPACE 00060 class oaString; 00061 class oaChangeSetBase; 00062 class oaCMProtocol; 00063 class oaCMProtocolArray; 00064 END_OA_NAMESPACE 00065 00066 00067 00068 // ***************************************************************************** 00069 // Define names in the OA_PLUGIIN namespace. 00070 // ***************************************************************************** 00071 BEGIN_OA_PLUGIN_NAMESPACE 00072 00073 00074 00075 // ***************************************************************************** 00076 // ICMPlugInBase 00077 // ***************************************************************************** 00078 class OA_PLUGIN_DLL_API ICMPlugInBase : public oaCommon::IBase { 00079 public: 00080 virtual ~ICMPlugInBase(); 00081 virtual void init() = 0; 00082 virtual void getProtocols(oa::oaCMProtocolArray &out) const = 0; 00083 virtual void setProtocol(const oa::oaCMProtocol &in) = 0; 00084 virtual void discardChangeSet(oa::oaChangeSetBase *in) = 0; 00085 }; 00086 00087 00088 00089 // ***************************************************************************** 00090 // ITracking 00091 // ***************************************************************************** 00092 extern OA_PLUGIN_DLL_API const Guid IID_ITracking; 00093 00094 class OA_PLUGIN_DLL_API ITracking : public ICMPlugInBase { 00095 public: 00096 virtual ~ITracking(); 00097 virtual void beginTracking(const oa::oaString &name) = 0; 00098 virtual void endTracking() = 0; 00099 00100 static const Guid &getId(); 00101 }; 00102 00103 00104 00105 // ***************************************************************************** 00106 // ITrackingIter 00107 // ***************************************************************************** 00108 extern OA_PLUGIN_DLL_API const Guid IID_ITrackingIter; 00109 typedef IIter<ITracking*, &IID_ITrackingIter> ITrackingIter; 00110 00111 00112 00113 // ***************************************************************************** 00114 // IExport 00115 // ***************************************************************************** 00116 extern OA_PLUGIN_DLL_API const Guid IID_IExport; 00117 00118 class OA_PLUGIN_DLL_API IExport : public ICMPlugInBase { 00119 public: 00120 virtual ~IExport(); 00121 virtual void exportFull(oa::oaChangeSetBase *changeSet) = 0; 00122 virtual void exportIncr(oa::oaChangeSetBase *changeSet) = 0; 00123 00124 static const Guid &getId(); 00125 }; 00126 00127 00128 00129 // ***************************************************************************** 00130 // IExportIter 00131 // ***************************************************************************** 00132 extern OA_PLUGIN_DLL_API const Guid IID_IExportIter; 00133 typedef IIter<IExport*, &IID_IExportIter> IExportIter; 00134 00135 00136 00137 END_OA_PLUGIN_NAMESPACE 00138 00139 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.