oaPlugInLibDefInterfaces.h

Go to the documentation of this file.
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

Return to top of page