![]() ![]() |
![]() |
1 mike 1.1.2.1 //%2006//////////////////////////////////////////////////////////////////////// 2 // 3 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development 4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. 5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; 6 // IBM Corp.; EMC Corporation, The Open Group. 7 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; 8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. 9 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; 10 // EMC Corporation; VERITAS Software Corporation; The Open Group. 11 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; 12 // EMC Corporation; Symantec Corporation; The Open Group. 13 // 14 // Permission is hereby granted, free of charge, to any person obtaining a copy 15 // of this software and associated documentation files (the "Software"), to 16 // deal in the Software without restriction, including without limitation the 17 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 18 // sell copies of the Software, and to permit persons to whom the Software is 19 // furnished to do so, subject to the following conditions: 20 // 21 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN 22 mike 1.1.2.1 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED 23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 24 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 27 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 29 // 30 //============================================================================== 31 // 32 //%///////////////////////////////////////////////////////////////////////////// 33 34 #ifndef Pegasus_SourceTypes_h 35 #define Pegasus_SourceTypes_h 36 37 #include <Pegasus/Common/Config.h> 38 #include <Pegasus/Common/CIMType.h> 39 #include "Linkage.h" 40 | ||
41 mike 1.1.2.2 #define PEGASUS_FLAG_PROPERTY (1 << 0) 42 #define PEGASUS_FLAG_REFERENCE (1 << 1) 43 #define PEGASUS_FLAG_METHOD (1 << 2) 44 #define PEGASUS_FLAG_CLASS (1 << 3) 45 #define PEGASUS_FLAG_ABSTRACT (1 << 4) 46 #define PEGASUS_FLAG_AGGREGATE (1 << 5) 47 #define PEGASUS_FLAG_AGGREGATION (1 << 6) 48 #define PEGASUS_FLAG_ASSOCIATION (1 << 7) 49 #define PEGASUS_FLAG_COMPOSITION (1 << 8) 50 #define PEGASUS_FLAG_COUNTER (1 << 9) 51 #define PEGASUS_FLAG_DELETE (1 << 10) 52 #define PEGASUS_FLAG_DN (1 << 11) 53 #define PEGASUS_FLAG_EMBEDDEDOBJECT (1 << 12) 54 #define PEGASUS_FLAG_EXCEPTION (1 << 13) 55 #define PEGASUS_FLAG_EXPENSIVE (1 << 14) 56 #define PEGASUS_FLAG_EXPERIMENTAL (1 << 15) 57 #define PEGASUS_FLAG_GAUGE (1 << 16) 58 #define PEGASUS_FLAG_IFDELETED (1 << 17) 59 #define PEGASUS_FLAG_IN (1 << 18) 60 #define PEGASUS_FLAG_INDICATION (1 << 19) 61 #define PEGASUS_FLAG_INVISIBLE (1 << 20) 62 mike 1.1.2.2 #define PEGASUS_FLAG_KEY (1 << 21) 63 #define PEGASUS_FLAG_LARGE (1 << 22) 64 #define PEGASUS_FLAG_OCTETSTRING (1 << 23) 65 #define PEGASUS_FLAG_OUT (1 << 24) 66 #define PEGASUS_FLAG_READ (1 << 25) 67 #define PEGASUS_FLAG_REQUIRED (1 << 26) 68 #define PEGASUS_FLAG_STATIC (1 << 27) 69 #define PEGASUS_FLAG_TERMINAL (1 << 28) 70 #define PEGASUS_FLAG_WEAK (1 << 29) 71 #define PEGASUS_FLAG_WRITE (1 << 30) 72 #define PEGASUS_FLAG_EMBEDDEDINSTANCE (1 << 31) 73 74 #define PEGASUS_SCOPE_SCHEMA (1 << 0) 75 #define PEGASUS_SCOPE_CLASS (1 << 1) 76 #define PEGASUS_SCOPE_ASSOCIATION (1 << 2) 77 #define PEGASUS_SCOPE_INDICATION (1 << 3) 78 #define PEGASUS_SCOPE_PROPERTY (1 << 4) 79 #define PEGASUS_SCOPE_REFERENCE (1 << 5) 80 #define PEGASUS_SCOPE_METHOD (1 << 6) 81 #define PEGASUS_SCOPE_PARAMETER (1 << 7) 82 #define PEGASUS_SCOPE_ANY (1|2|4|8|16|32|64|128) 83 mike 1.1.2.2 84 #define PEGASUS_FLAVOR_OVERRIDABLE (1 << 0) 85 #define PEGASUS_FLAVOR_TOSUBCLASS (1 << 1) 86 #define PEGASUS_FLAVOR_TOINSTANCE (1 << 2) 87 #define PEGASUS_FLAVOR_TRANSLATABLE (1 << 3) 88 #define PEGASUS_FLAVOR_DISABLEOVERRIDE (1 << 4) 89 #define PEGASUS_FLAVOR_RESTRICTED (1 << 5) | ||
90 mike 1.1.2.1 91 PEGASUS_NAMESPACE_BEGIN 92 | ||
93 mike 1.1.2.2 template<class T> 94 struct SourceArray 95 { 96 T* elements; 97 Uint32 size; 98 }; 99 100 struct SourceQualifierDecl 101 { 102 char* name; 103 Uint16 type; 104 Sint16 subscript; 105 Uint16 scope; 106 Uint16 flavor; | ||
107 mike 1.1.2.4 const char* value; | ||
108 mike 1.1.2.3 }; 109 | ||
110 mike 1.1.2.1 struct SourceFeature 111 { 112 Uint32 flags; 113 char* name; | ||
114 mike 1.1.2.4 const char** qualifiers; | ||
115 mike 1.1.2.1 }; 116 117 struct SourceProperty 118 { 119 // Inherited fields (from SourceFeature): 120 Uint32 flags; 121 char* name; | ||
122 mike 1.1.2.4 const char** qualifiers; | ||
123 mike 1.1.2.1 124 // Local fields: 125 Uint16 type; 126 Sint16 subscript; 127 struct SourceClass* refClass; 128 }; 129 130 struct SourceMethod 131 { 132 Uint32 flags; 133 char* name; | ||
134 mike 1.1.2.4 const char** qualifiers; | ||
135 mike 1.1.2.1 136 // Local fields: | ||
137 mike 1.1.2.2 Uint16 type; 138 SourceProperty** parameters; | ||
139 mike 1.1.2.1 }; 140 141 struct SourceClass 142 { 143 Uint32 flags; 144 char* name; | ||
145 mike 1.1.2.4 const char** qualifiers; | ||
146 mike 1.1.2.1 SourceClass* super; 147 SourceFeature** features; 148 }; 149 150 struct SourceNameSpace 151 { 152 char* nameSpace; | ||
153 mike 1.1.2.2 SourceQualifierDecl** qualifiers; | ||
154 mike 1.1.2.1 SourceClass** classes; 155 }; 156 157 struct SourceRepository 158 { 159 SourceNameSpace** nameSpaces; 160 }; 161 162 PEGASUS_NAMESPACE_END 163 164 #endif /* Pegasus_SourceTypes_h */ |
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |