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

  1 martin 1.18 //%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.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             // 
 28             //////////////////////////////////////////////////////////////////////////
 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 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CIMObjectPath* cop)
 57                     {
 58                         CMPI_ThreadContext::addObject(this);
 59                         hdl = (void*)cop;
 60                         ftab = CMPI_ObjectPath_Ftab;
 61 schuur         1.1  }
 62                     
 63 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CIMDateTime* cdt)
 64                     {
 65                         CMPI_ThreadContext::addObject(this);
 66                         hdl = (void*)cdt;
 67                         ftab = CMPI_DateTime_Ftab;
 68 schuur         1.1  }
 69                     
 70 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CIMError* cer)
 71                     {
 72                         CMPI_ThreadContext::addObject(this);
 73                         hdl = (void*)cer;
 74                         ftab = CMPI_Error_Ftab;
 75 dave.sudlik    1.15 }
 76                     
 77 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(const String& str)
 78                     {
 79                         CMPI_ThreadContext::addObject(this);
 80                         const CString st = str.getCString();
 81                         hdl = (void*)strdup((const char*)st);
 82                         ftab = CMPI_String_Ftab;
 83 schuur         1.1  }
 84                     
 85 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(const char *str)
 86                     {
 87                         CMPI_ThreadContext::addObject(this);
 88                         hdl = (void*)strdup(str);
 89                         ftab = CMPI_String_Ftab;
 90 schuur         1.1  }
 91                     
 92 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(Array<CIMParamValue> *args)
 93                     {
 94                         CMPI_ThreadContext::addObject(this);
 95                         hdl = (void*)args;
 96                         ftab = CMPI_Args_Ftab;
 97 schuur         1.1  }
 98                     
 99 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPIData *dta)
100                     {
101                         CMPI_ThreadContext::addObject(this);
102                         hdl = (void*)dta;
103                         ftab = CMPI_Array_Ftab;
104 schuur         1.1  }
105                     
106 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPISelectCond *dta)
107                     {
108                         CMPI_ThreadContext::addObject(this);
109                         hdl = (void*)dta;
110                         ftab = CMPI_SelectCond_Ftab;
111 schuur         1.1  }
112                     
113 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPISubCond *dta)
114                     {
115 konrad.r       1.8      CMPI_ThreadContext::addObject(this);
116 venkat.puvvada 1.16     hdl = (void*)dta;
117                         ftab = CMPI_SubCond_Ftab;
118 konrad.r       1.8  }
119 r.kieninger    1.10 
120 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPIPredicate *dta)
121                     {
122                         CMPI_ThreadContext::addObject(this);
123                         hdl = (void*)dta;
124                         ftab = CMPI_Predicate_Ftab;
125 konrad.r       1.8  }
126                     
127 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPI_ObjEnumeration *dta)
128                     {
129                         CMPI_ThreadContext::addObject(this);
130                         hdl = (void*)dta;
131                         ftab = CMPI_ObjEnumeration_Ftab;
132 r.kieninger    1.11 }
133                     
134 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPI_InstEnumeration *dta)
135                     {
136                         CMPI_ThreadContext::addObject(this);
137                         hdl = (void*)dta;
138                         ftab = CMPI_InstEnumeration_Ftab;
139 r.kieninger    1.11 }
140                     
141 venkat.puvvada 1.16 CMPI_Object::CMPI_Object(CMPI_OpEnumeration *dta)
142                     {
143                         CMPI_ThreadContext::addObject(this);
144                         hdl = (void*)dta;
145                         ftab = CMPI_OpEnumeration_Ftab;
146 schuur         1.1  }
147                     
148 venkat.puvvada 1.16 CMPI_Object::~CMPI_Object()
149                     {
150                     }
151                     
152                     void CMPI_Object::unlinkAndDelete()
153                     {
154                         CMPI_ThreadContext::remObject(this);
155                         delete this;
156                     }
157                     
158                     void CMPI_Object::unlink()
159                     {
160                         CMPI_ThreadContext::remObject(this);
161 schuur         1.5  }
162                     
163 schuur         1.1  PEGASUS_NAMESPACE_END
164                     
165                     
166                     
167                     

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2