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

 1 schuur 1.1 //%2003////////////////////////////////////////////////////////////////////////
 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            //
 8            // Permission is hereby granted, free of charge, to any person obtaining a copy
 9            // of this software and associated documentation files (the "Software"), to
10            // deal in the Software without restriction, including without limitation the
11            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
12            // sell copies of the Software, and to permit persons to whom the Software is
13            // furnished to do so, subject to the following conditions:
14            //
15            // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
16            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
17            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
18            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
19            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 schuur 1.1 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23            //
24            //==============================================================================
25            //
26            // Author:      Adrian Schuur, schuur@de.ibm.com
27            //
28            // Modified By:
29            //
30            //%/////////////////////////////////////////////////////////////////////////////
31            
32 schuur 1.3 #include "CMPI_Version.h"
33 schuur 1.2 
34 schuur 1.1 #include "CMPI_SelectCond.h"
35            #include "CMPI_Ftabs.h"
36            #include "CMPI_Value.h"
37            #include "CMPI_String.h"
38            
39            PEGASUS_USING_STD;
40            PEGASUS_NAMESPACE_BEGIN
41            
42            CMPIStatus scndRelease(CMPISelectCond* sc) {
43               CMReturn(CMPI_RC_OK);
44            }
45            
46            CMPISelectCond* scndClone(CMPISelectCond* eSc, CMPIStatus* rc) {
47                  if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_SUPPORTED);
48                  return NULL;
49            }
50            
51            CMPICount scndGetCountAndType(CMPISelectCond* eSc, int* type, CMPIStatus* rc) {
52                CMPI_SelectCond *sc=(CMPI_SelectCond*)eSc;
53                if (type!=NULL) *type=sc->type;
54                if (rc) CMSetStatus(rc,CMPI_RC_OK);
55 schuur 1.1     return sc->tableau->size();
56            }
57            
58            CMPISubCond* scndGetSubCondAt(CMPISelectCond* eSc, unsigned int index, CMPIStatus* rc) {
59                CMPI_SelectCond *sc=(CMPI_SelectCond*)eSc;
60                if (index<=sc->tableau->size()) {
61                   const TableauRow *row=sc->tableau[index].getData();
62                   CMPISubCond *sbc=(CMPISubCond*)new CMPI_SubCond(row);
63                   if (rc) CMSetStatus(rc,CMPI_RC_OK);
64                   return sbc;
65                }   
66                if (rc) CMSetStatus(rc,CMPI_RC_ERR_FAILED);
67                return NULL; 
68            }    
69            
70            
71            static CMPISelectCondFT scnd_FT={
72                 CMPICurrentVersion,
73                 scndRelease,
74                 scndClone,
75                 scndGetCountAndType,
76 schuur 1.1      scndGetSubCondAt,
77             };
78            
79            CMPISelectCondFT *CMPI_SelectCond_Ftab=&scnd_FT;
80            
81            CMPI_SelectCond::CMPI_SelectCond(Tableau* tblo, int t)
82              : tableau(tblo), type(t) {
83               ft=CMPI_SelectCond_Ftab;
84            }
85            
86            
87            PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2