(file) Return to CMPI_Object.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / CMPI

  1 martin 1.18 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.19 //
  3 martin 1.18 // 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 martin 1.19 //
 10 martin 1.18 // 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 martin 1.19 //
 17 martin 1.18 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.19 //
 20 martin 1.18 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.19 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.18 // 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 martin 1.19 //
 28 martin 1.18 //////////////////////////////////////////////////////////////////////////
 29 schuur 1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32 schuur 1.4  #include "CMPI_Version.h"
 33 schuur 1.2  
 34 schuur 1.1  #include "CMPI_Object.h"
 35             #include "CMPI_ThreadContext.h"
 36             #include "CMPI_Ftabs.h"
 37             
 38 schuur 1.3  #include <string.h>
 39             
 40 schuur 1.1  PEGASUS_USING_STD;
 41             PEGASUS_NAMESPACE_BEGIN
 42             
 43 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPI_Object *obj)
 44                     {
 45                         hdl = obj->hdl;
 46                         ftab = obj->ftab;
 47 schuur         1.1  }
 48 konrad.r       1.12 // Add a flag here?
 49 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CIMInstance* ci)
 50                     {
 51                         CMPI_ThreadContext::addObject(this);
 52                         hdl = (void*)ci;
 53                         ftab = CMPI_Instance_Ftab;
 54 schuur         1.1  }
 55                     
 56 r.kieninger    1.19.4.5 CMPI_Object::CMPI_Object(SCMOInstance* si, SCMOInstanceObjectType type)
 57 r.kieninger    1.19.4.2 {
 58                             CMPI_ThreadContext::addObject(this);
 59                             hdl = (void*)si;
 60 r.kieninger    1.19.4.5     if (type == ObjectTypeInstance)
 61 r.kieninger    1.19.4.2     {
 62                                 ftab = CMPI_Instance_Ftab;
 63                             }
 64                             else
 65                             {
 66                                 ftab = CMPI_ObjectPath_Ftab;
 67                             }
 68                         }
 69                         
 70 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CIMObjectPath* cop)
 71                         {
 72                             CMPI_ThreadContext::addObject(this);
 73                             hdl = (void*)cop;
 74                             ftab = CMPI_ObjectPath_Ftab;
 75 schuur         1.1      }
 76                         
 77 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CIMDateTime* cdt)
 78                         {
 79                             CMPI_ThreadContext::addObject(this);
 80                             hdl = (void*)cdt;
 81                             ftab = CMPI_DateTime_Ftab;
 82 schuur         1.1      }
 83                         
 84 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CIMError* cer)
 85                         {
 86                             CMPI_ThreadContext::addObject(this);
 87                             hdl = (void*)cer;
 88                             ftab = CMPI_Error_Ftab;
 89 dave.sudlik    1.15     }
 90                         
 91 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(const String& str)
 92                         {
 93                             CMPI_ThreadContext::addObject(this);
 94                             const CString st = str.getCString();
 95                             hdl = (void*)strdup((const char*)st);
 96                             ftab = CMPI_String_Ftab;
 97 schuur         1.1      }
 98                         
 99 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(const char *str)
100                         {
101                             CMPI_ThreadContext::addObject(this);
102 r.kieninger    1.19.4.4     hdl = str ? (void*)strdup(str) : (void*)strdup("");
103 venkat.puvvada 1.16         ftab = CMPI_String_Ftab;
104 schuur         1.1      }
105                         
106 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(Array<CIMParamValue> *args)
107                         {
108                             CMPI_ThreadContext::addObject(this);
109                             hdl = (void*)args;
110                             ftab = CMPI_Args_Ftab;
111 schuur         1.1      }
112                         
113 thilo.boehm    1.19.4.1 CMPI_Object::CMPI_Object(CMPI_Array *arr)
114 venkat.puvvada 1.16     {
115                             CMPI_ThreadContext::addObject(this);
116 thilo.boehm    1.19.4.1     hdl = (void*)arr;
117 venkat.puvvada 1.16         ftab = CMPI_Array_Ftab;
118 schuur         1.1      }
119                         
120 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CMPISelectCond *dta)
121                         {
122                             CMPI_ThreadContext::addObject(this);
123                             hdl = (void*)dta;
124                             ftab = CMPI_SelectCond_Ftab;
125 schuur         1.1      }
126                         
127 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CMPISubCond *dta)
128                         {
129 konrad.r       1.8          CMPI_ThreadContext::addObject(this);
130 venkat.puvvada 1.16         hdl = (void*)dta;
131                             ftab = CMPI_SubCond_Ftab;
132 konrad.r       1.8      }
133 r.kieninger    1.10     
134 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CMPIPredicate *dta)
135                         {
136                             CMPI_ThreadContext::addObject(this);
137                             hdl = (void*)dta;
138                             ftab = CMPI_Predicate_Ftab;
139 konrad.r       1.8      }
140                         
141 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CMPI_ObjEnumeration *dta)
142                         {
143                             CMPI_ThreadContext::addObject(this);
144                             hdl = (void*)dta;
145                             ftab = CMPI_ObjEnumeration_Ftab;
146 r.kieninger    1.11     }
147                         
148 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CMPI_InstEnumeration *dta)
149                         {
150                             CMPI_ThreadContext::addObject(this);
151                             hdl = (void*)dta;
152                             ftab = CMPI_InstEnumeration_Ftab;
153 r.kieninger    1.11     }
154                         
155 venkat.puvvada 1.16     CMPI_Object::CMPI_Object(CMPI_OpEnumeration *dta)
156                         {
157                             CMPI_ThreadContext::addObject(this);
158                             hdl = (void*)dta;
159                             ftab = CMPI_OpEnumeration_Ftab;
160 schuur         1.1      }
161                         
162 venkat.puvvada 1.16     CMPI_Object::~CMPI_Object()
163                         {
164                         }
165                         
166                         void CMPI_Object::unlinkAndDelete()
167                         {
168                             CMPI_ThreadContext::remObject(this);
169                             delete this;
170                         }
171                         
172                         void CMPI_Object::unlink()
173                         {
174                             CMPI_ThreadContext::remObject(this);
175 schuur         1.5      }
176                         
177 schuur         1.1      PEGASUS_NAMESPACE_END
178                         
179                         
180                         
181                         

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2