1 martin 1.2 //%LICENSE////////////////////////////////////////////////////////////////
2 //
3 // Licensed to The Open Group (TOG) under one or more contributor license
4 // agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
5 // this work for additional information regarding copyright ownership.
6 // Each contributor licenses this file to you under the OpenPegasus Open
7 // Source License; you may not use this file except in compliance with the
8 // License.
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining a
11 // copy of this software and associated documentation files (the "Software"),
12 // to deal in the Software without restriction, including without limitation
13 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 // and/or sell copies of the Software, and to permit persons to whom the
15 // Software is furnished to do so, subject to the following conditions:
16 //
17 // The above copyright notice and this permission notice shall be included
18 // in all copies or substantial portions of the Software.
19 //
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 martin 1.2 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
28 //////////////////////////////////////////////////////////////////////////
|
29 kumpf 1.1 //
30 //%/////////////////////////////////////////////////////////////////////////////
31
32 #ifndef Pegasus_PersistentStoreData_h
33 #define Pegasus_PersistentStoreData_h
34
35 #include <Pegasus/Common/Config.h>
36 #include <Pegasus/Common/String.h>
37 #include <Pegasus/Common/CIMName.h>
38
39 PEGASUS_NAMESPACE_BEGIN
40
41 class ClassAssociation
42 {
43 public:
44
45 ClassAssociation(
46 const CIMName& assocClassName_,
47 const CIMName& fromClassName_,
48 const CIMName& fromPropertyName_,
49 const CIMName& toClassName_,
50 kumpf 1.1 const CIMName& toPropertyName_)
51 : assocClassName(assocClassName_),
52 fromClassName(fromClassName_),
53 fromPropertyName(fromPropertyName_),
54 toClassName(toClassName_),
55 toPropertyName(toPropertyName_)
56 {
57 }
58
59 ClassAssociation()
60 {
61 }
62
63 CIMName assocClassName;
64 CIMName fromClassName;
65 CIMName fromPropertyName;
66 CIMName toClassName;
67 CIMName toPropertyName;
68 };
69
70 class InstanceAssociation
71 kumpf 1.1 {
72 public:
73
74 InstanceAssociation(
75 const String& assocInstanceName_,
76 const CIMName& assocClassName_,
77 const String& fromInstanceName_,
78 const CIMName& fromClassName_,
79 const CIMName& fromPropertyName_,
80 const String& toInstanceName_,
81 const CIMName& toClassName_,
82 const CIMName& toPropertyName_)
83 : assocInstanceName(assocInstanceName_),
84 assocClassName(assocClassName_),
85 fromInstanceName(fromInstanceName_),
86 fromClassName(fromClassName_),
87 fromPropertyName(fromPropertyName_),
88 toInstanceName(toInstanceName_),
89 toClassName(toClassName_),
90 toPropertyName(toPropertyName_)
91 {
92 kumpf 1.1 }
93
94 String assocInstanceName;
95 CIMName assocClassName;
96 String fromInstanceName;
97 CIMName fromClassName;
98 CIMName fromPropertyName;
99 String toInstanceName;
100 CIMName toClassName;
101 CIMName toPropertyName;
102 };
103
104 class NamespaceDefinition
105 {
106 public:
107
108 NamespaceDefinition(const CIMNamespaceName& name_)
109 : name(name_),
110 shareable(false),
111 updatesAllowed(true),
112 parentNameSpace(),
113 kumpf 1.1 remoteInfo()
114 {
115 }
116
117 CIMNamespaceName name;
118 Boolean shareable;
119 Boolean updatesAllowed;
120 CIMNamespaceName parentNameSpace;
121 String remoteInfo; // Only used with Remote CMPI
122 };
123
124 PEGASUS_NAMESPACE_END
125
126 #endif /* Pegasus_PersistentStoreData_h */
|