(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 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 marek          1.19.2.1 CMPI_Object::CMPI_Object(CMPI_Array *arr)
100 venkat.puvvada 1.16     {
101                             CMPI_ThreadContext::addObject(this);
102 marek          1.19.2.1     hdl = (void*)arr;
103 venkat.puvvada 1.16         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