00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaPlugInLibDefInterfaces.h 00004 // 00005 // This file contains the definitions for LibDef interface classes, and public 00006 // supporting objects. These include: 00007 // 00008 // ILibDef 00009 // This is an abstract class which specifies the interface for the LibDef 00010 // plug-in that is used to call the LibDef library plug-in from OA. 00011 // 00012 // ILibDefAccess 00013 // This is an abstract class which specifies an access interface for LibDef 00014 // plug-in components. This interface can be used by LibDef plug-in 00015 // components to call back to OA DM. 00016 // 00017 // ***************************************************************************** 00018 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00019 // Integration Initiative, this material may not be copied, modified, 00020 // re-published, uploaded, executed, or distributed in any way, in any medium, 00021 // in whole or in part, without prior written permission from Cadence. 00022 // 00023 // Copyright 2002-2008 Cadence Design Systems, Inc. 00024 // All Rights Reserved. 00025 // 00026 // $Author: icftcm $ 00027 // $Revision: #1 $ 00028 // $Date: 2008/08/26 $ 00029 // $State: Exp $ 00030 // ***************************************************************************** 00031 // ***************************************************************************** 00032 00033 00034 00035 #if !defined(oaPlugInLibDefInterfaces_P) 00036 #define oaPlugInLibDefInterfaces_P 00037 00038 00039 00040 // ***************************************************************************** 00041 // Nested includes 00042 // ***************************************************************************** 00043 #include "oaPlugInDMTypes.h" 00044 #include "oaPlugInIDMObject.h" 00045 #include "oaString.h" 00046 #include "oaLibDefList.h" 00047 #include "oaLib.h" 00048 00049 00050 00051 // ***************************************************************************** 00052 // Declare and define types in the OpenAccess namespace. 00053 // ***************************************************************************** 00054 BEGIN_OA_PLUGIN_NAMESPACE 00055 00056 00057 00058 // ***************************************************************************** 00059 // ILibDefAccess 00060 // ***************************************************************************** 00061 extern OA_PLUGIN_DLL_API const Guid IID_ILibDefAccess; 00062 00063 class OA_PLUGIN_DLL_API ILibDefAccess : public IBase { 00064 public: 00065 virtual void warn(const oa::oaLibDefList *defList, 00066 const oa::oaString &message) = 0; 00067 00068 static const Guid &getId(); 00069 }; 00070 00071 00072 00073 // ***************************************************************************** 00074 // ILibDef 00075 // ***************************************************************************** 00076 extern OA_PLUGIN_DLL_API const Guid IID_ILibDef; 00077 00078 class OA_PLUGIN_DLL_API ILibDef : public IBase { 00079 public: 00080 00081 virtual oa::oaLibDefList *open() = 0; 00082 virtual oa::oaLibDefList *open(const oa::oaString &filePath, 00083 oa::oaBoolean openReferences) = 0; 00084 00085 virtual void save(const oa::oaLibDefList *libList) = 0; 00086 virtual void saveAs(const oa::oaLibDefList *libList, 00087 const oa::oaString &path) = 0; 00088 00089 virtual void getDefaultPath(oa::oaString &defaultPath) = 0; 00090 virtual void getDefaultFileName(oa::oaString &filename) = 0; 00091 00092 virtual oa::oaBoolean hasPath() const = 0; 00093 virtual oa::oaBoolean hasWritePath() const = 0; 00094 00095 virtual void getLibPath(const oa::oaLibDef *libDef, 00096 oa::oaString &libPath) = 0; 00097 virtual void getLibWritePath(const oa::oaLibDef *libDef, 00098 oa::oaString &libWritepath) = 0; 00099 00100 virtual void init(ILibDefAccess *libDefAccess) = 0; 00101 00102 static const Guid &getId(); 00103 }; 00104 00105 00106 00107 END_OA_PLUGIN_NAMESPACE 00108 00109 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.