00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaConstraint.h 00004 // 00005 // This file contains the definitions for the following oaConstraint class. 00006 // 00007 // ***************************************************************************** 00008 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00009 // Integration Initiative, this material may not be copied, modified, 00010 // re-published, uploaded, executed, or distributed in any way, in any medium, 00011 // in whole or in part, without prior written permission from Cadence. 00012 // 00013 // Copyright 2002-2005 Cadence Design Systems, Inc. 00014 // All Rights Reserved. 00015 // 00016 // $Author: icftcm $ 00017 // $Revision: #1 $ 00018 // $Date: 2010/08/09 $ 00019 // $State: Exp $ 00020 // ***************************************************************************** 00021 // ***************************************************************************** 00022 00023 00024 00025 #if !defined(oaConstraint_P) 00026 #define oaConstraint_P 00027 00028 00029 00030 // ***************************************************************************** 00031 // Nested includes 00032 // ***************************************************************************** 00033 #include "oaConstraintParam.h" 00034 #include "oaConstraintDef.h" 00035 00036 00037 00038 // ***************************************************************************** 00039 // Declare and define types in the OpenAccess namespace. 00040 // ***************************************************************************** 00041 BEGIN_OA_NAMESPACE 00042 00043 00044 00045 // ***************************************************************************** 00046 // Forward Class Declarations 00047 // ***************************************************************************** 00048 class oaConstraintDef; 00049 class oaValue; 00050 class oaConstraintParamArray; 00051 00052 00053 00054 // ***************************************************************************** 00055 // oaConstraint 00056 // ***************************************************************************** 00057 class OA_BASE_DLL_API oaConstraint : public oaObject { 00058 public: 00059 void getName(oaString &name) const; 00060 oaConstraintDef *getDef() const; 00061 oaValue *getValue() const; 00062 void getParams(oaConstraintParamArray ¶ms) const; 00063 void getID(oaString &id) const; 00064 void getDescription(oaString &description) const; 00065 00066 oaBoolean hasParams() const; 00067 oaBoolean isHard() const; 00068 00069 void setValue(oaValue *value); 00070 void setParams(const oaConstraintParamArray ¶ms); 00071 void setHard(oaBoolean isHard); 00072 void setID(const oaString &id); 00073 void setDescription(const oaString &description); 00074 00075 void destroy(); 00076 00077 enum {dtIndex = oacBaseConstraintDataType}; 00078 }; 00079 00080 00081 00082 // ***************************************************************************** 00083 // Traits 00084 // ***************************************************************************** 00085 template<> 00086 class oaTraits<oaConstraint> { 00087 public: 00088 typedef oaObject parentType; 00089 typedef oaConstraintModTypeEnum modTypeType; 00090 enum {domain = oacNoDomain}; 00091 enum {isMultiDomain = false}; 00092 enum {isConcrete = false}; 00093 enum {dbType = oacBaseDBType}; 00094 enum {dtIndex = oacBaseConstraintDataType}; 00095 enum {dataTypeEnumVal = oacBaseConstraintDataType}; 00096 enum {abstractTypeEnumVal = oacConstraintType}; 00097 }; 00098 00099 00100 00101 END_OA_NAMESPACE 00102 00103 #endif 00104
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.