oaPcellCPPInterfaces.h

Go to the documentation of this file.
00001 // *****************************************************************************
00002 // *****************************************************************************
00003 // oaPcellCPPInterfaces.h
00004 //
00005 // This file contains the interface provided by the oaPcellCPP.
00006 // 
00007 // IPcellCPPDefMgr
00008 //      This is an interface provided by oaPcellCPP for managing PcellGen
00009 //      definitions and the associated DM files in a design library. It provide
00010 //      functions to set and get attributes of the IPcellGen definitions and
00011 //      it creates and destroys the associated DM files for the IPcellGen 
00012 //      definition. A IPcellGen definition is identified by its name and the
00013 //      platform name that it supports. The definition is associated with a DM
00014 //      files that is linked to a shared library.
00015 //
00016 // *****************************************************************************
00017 // Except as specified in the OpenAccess terms of use of Cadence or Silicon
00018 // Integration Initiative, this material may not be copied, modified,
00019 // re-published, uploaded, executed, or distributed in any way, in any medium,
00020 // in whole or in part, without prior written permission from Cadence.
00021 //
00022 //                Copyright 2002-2005 Cadence Design Systems, Inc.
00023 //                           All Rights Reserved.
00024 //
00025 //  $Author: icftcm $
00026 //  $Revision: #1 $
00027 //  $Date: 2010/08/09 $
00028 //  $State: Exp $
00029 // *****************************************************************************
00030 // *****************************************************************************
00031 
00032 
00033 
00034 #if !defined(oaPcellCPPInterfaces_P)
00035 #define oaIPcellCPPInterfaces_P
00036 
00037 
00038 
00039 BEGIN_OA_NAMESPACE
00040 
00041 
00042 
00043 // *****************************************************************************
00044 // IPcellCPPDefMgr
00045 // *****************************************************************************
00046 class IPcellCPPDefMgr : public IBase {
00047 public:
00048     virtual void            open(oaLib *lib) = 0;
00049     virtual void            close() = 0;
00050     virtual void            save() = 0;
00051     virtual void            destroy() = 0;
00052 
00053     virtual oaBoolean       findDef(const oaString  &platformName,
00054                                     const oaString  &pgName,
00055                                     oaString        &dmFileName) = 0;
00056     virtual void            createDef(const oaString    &platformName,
00057                                       const oaString    &pgName,
00058                                       const oaString    &dmFileName,
00059                                       const oaString    &sharedLibPath) = 0;
00060     virtual void            setDef(const oaString   &platformName,
00061                                    const oaString   &pgName,
00062                                    const oaString   &dmFileName,
00063                                    const oaString   &sharedLibPath) = 0;
00064     virtual void            destroyDef(const oaString   &platformName,
00065                                        const oaString   &pgName) = 0;
00066 
00067     virtual void            getPlatforms(oaArray<oaString> &platformNames) = 0;
00068     virtual void            getDefs(const oaString      &platformName,
00069                                     oaArray<oaString>   &pgNames) = 0;
00070 
00071     static const Guid       &getId();
00072 };
00073 
00074 
00075 
00076 END_OA_NAMESPACE
00077 
00078 #endif

Return to top of page