00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaVCSystem.h 00004 // 00005 // This file contains the definition for the oaVCSystem class and classes 00006 // assiciated with the version control API. 00007 // 00008 // oaVCSystem 00009 // This class is used to manage and access version control plug-ins through 00010 // the OA public interface. 00011 // 00012 // oaVCVersion 00013 // This class manages an IVersion interface pointer as an abstraction for 00014 // the OA public API. The real work is done by a derived oaVCVersionPvt 00015 // class to prevent dependencies from the OA public API on the plug-in 00016 // interfaces. 00017 // 00018 // ***************************************************************************** 00019 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00020 // Integration Initiative, this material may not be copied, modified, 00021 // re-published, uploaded, executed, or distributed in any way, in any medium, 00022 // in whole or in part, without prior written permission from Cadence. 00023 // 00024 // Copyright 2002-2005 Cadence Design Systems, Inc. 00025 // All Rights Reserved. 00026 // 00027 // $Author: icftcm $ 00028 // $Revision: #1 $ 00029 // $Date: 2010/08/09 $ 00030 // $State: Exp $ 00031 // ***************************************************************************** 00032 // ***************************************************************************** 00033 00034 00035 00036 #if !defined(oaVCSystem_P) 00037 #define oaVCSystem_P 00038 00039 00040 00041 // ***************************************************************************** 00042 // Nested includes 00043 // ***************************************************************************** 00044 #include "oaArray.h" 00045 #include "oaVCCap.h" 00046 #include "oaVersionComp.h" 00047 00048 00049 00050 // ***************************************************************************** 00051 // Declare and define types in the OpenAccess namespace. 00052 // ***************************************************************************** 00053 BEGIN_OA_NAMESPACE 00054 00055 00056 00057 // ***************************************************************************** 00058 // oaVCSystem 00059 // ***************************************************************************** 00060 class OA_DM_DLL_API oaVCSystem { 00061 public: 00062 static oaVCSystem *get(const oaChar *name); 00063 void destroy(); 00064 00065 virtual void getName(oaString &name) const = 0; 00066 00067 virtual oaBoolean testCapability(oaVCCap cap) const = 0; 00068 virtual oaBoolean getControlledLibs(oaArray<oaLib*> &libs) const = 0; 00069 00070 protected: 00071 virtual ~oaVCSystem(); 00072 }; 00073 00074 00075 00076 // ***************************************************************************** 00077 // oaVCVersion 00078 // ***************************************************************************** 00079 class OA_DM_DLL_API oaVCVersion { 00080 public: 00081 oaVCVersion(); 00082 oaVCVersion(const oaChar *sysName, 00083 const oaChar *displayName = NULL); 00084 oaVCVersion(const oaVCVersion &ver); 00085 oaVCVersion(void *versionData); 00086 ~oaVCVersion(); 00087 00088 void getVCSystemName(oaString &sysName) const; 00089 void setDisplayName(const oaChar *sysName, 00090 const oaChar *displayName); 00091 void getDisplayName(oaString &name) const; 00092 oaVersionComp compare(const oaVCVersion *other) const; 00093 00094 oaVCVersion &operator=(const oaVCVersion &ver); 00095 00096 void *getRaw() const; 00097 00098 private: 00099 void *version; 00100 }; 00101 00102 00103 00104 // ***************************************************************************** 00105 // oaVCVersionIter 00106 // ***************************************************************************** 00107 class OA_DM_DLL_API oaVCVersionIter { 00108 public: 00109 oaVCVersionIter(const oaVCVersionIter &iter); 00110 oaVCVersionIter(void *data); 00111 ~oaVCVersionIter(); 00112 oaVCVersionIter &operator=(const oaVCVersionIter &iter); 00113 00114 00115 oaVCVersion getNext(); 00116 void reset(); 00117 00118 private: 00119 void *data; 00120 }; 00121 00122 00123 00124 END_OA_NAMESPACE 00125 00126 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.