00001 // ***************************************************************************** 00002 // oaUnixNS.h 00003 // 00004 // This file contains the definition for the oaUnixNS class. This class 00005 // implements the Unix NameSpace used in name mapping. In conjunction with 00006 // the oaName object, the oaUnixNS class facilitates mapping names to and from 00007 // the Unix fileSystem. 00008 // 00009 // Note: At this time the Unix NameSpace does not support indexed, vectored, 00010 // bundled, or hierarchical names. The Unix NameSpace is case sensitive, and 00011 // has no reserved words. 00012 // 00013 // ***************************************************************************** 00014 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00015 // Integration Initiative, this material may not be copied, modified, 00016 // re-published, uploaded, executed, or distributed in any way, in any medium, 00017 // in whole or in part, without prior written permission from Cadence. 00018 // 00019 // Copyright 2002-2005 Cadence Design Systems, Inc. 00020 // All Rights Reserved. 00021 // 00022 // $Author: icftcm $ 00023 // $Revision: #1 $ 00024 // $Date: 2010/08/09 $ 00025 // $State: Exp $ 00026 // ***************************************************************************** 00027 // ***************************************************************************** 00028 00029 00030 00031 #if !defined(oaUnixNS_P) 00032 #define oaUnixNS_P 00033 00034 00035 00036 // ***************************************************************************** 00037 // Nested includes 00038 // ***************************************************************************** 00039 #include "oaName.h" 00040 00041 00042 00043 // ***************************************************************************** 00044 // Declare and define types in the OpenAccess namespace. 00045 // ***************************************************************************** 00046 BEGIN_OA_NAMESPACE 00047 00048 00049 00050 // ***************************************************************************** 00051 // oaUnixNS 00052 // ***************************************************************************** 00053 class OA_BASE_DLL_API oaUnixNS : public oaNameSpace { 00054 public: 00055 oaUnixNS(); 00056 00057 virtual oaBoolean isEqual(const oaScalarName &n1, 00058 const oaScalarName &n2) const; 00059 virtual oaBoolean isEqual(const oaVectorName &n1, 00060 const oaVectorName &n2) const; 00061 virtual oaBoolean isEqual(const oaVectorBitName &n1, 00062 const oaVectorBitName &n2) const; 00063 virtual oaBoolean isEqual(const oaBundleName &n1, 00064 const oaBundleName &n2) const; 00065 virtual oaBoolean isEqual(const oaSimpleName &n1, 00066 const oaSimpleName &n2) const; 00067 virtual oaBoolean isEqual(const oaName &n1, 00068 const oaName &n2) const; 00069 00070 virtual oaNameType getType(const oaChar *in) const; 00071 00072 private: 00073 virtual oaBoolean isEqual(const oaNameMem &n1, 00074 const oaNameMem &n2) const; 00075 virtual oaBoolean isEqual(const oaVectorName &n1, 00076 const oaVectorBitName &n2) const; 00077 00078 virtual void getInternalMember(const oaChar *in, 00079 oaString &out, 00080 oaBoolean &caseSensitive, 00081 oaUInt4 len, 00082 oaUInt4 flags = 0) const; 00083 virtual void getInternalScalar(const oaChar *in, 00084 oaScalarName &out) const; 00085 00086 virtual void getMember(const oaChar *in, 00087 oaBoolean caseSensitive, 00088 oaString &out, 00089 oaUInt4 &loc, 00090 oaUInt4 flags = 0) const; 00091 virtual void getScalarName(const oaScalarName &in, 00092 oaString &out, 00093 oaUInt4 &loc) const; 00094 00095 virtual void get(const oaByte *data, 00096 oaString &out, 00097 oaUInt4 &loc) const; 00098 00099 oaBoolean isNormalChar(oaChar c) const; 00100 oaBoolean isHexDelimiter(oaChar c) const; 00101 00102 oaChar hexDelimiter; 00103 }; 00104 00105 00106 00107 END_OA_NAMESPACE 00108 00109 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.