00001 /* 00002 * 00003 * $Id: CmpiArgs.h,v 1.3 2008/07/09 19:36:59 tyreld Exp $ 00004 * 00005 * (C) Copyright IBM Corp. 2003, 2005, 2008 00006 * 00007 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE 00008 * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE 00009 * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. 00010 * 00011 * You can obtain a current copy of the Eclipse Public License from 00012 * http://www.opensource.org/licenses/eclipse-1.0.txt 00013 * 00014 * Author: Adrian Schuur <schuur@de.ibm.com> 00015 * Contributors: 00016 * 00017 * Description: CMPI Function Arguments Definitions 00018 * 00019 */ 00020 00021 #ifndef _CmpiArgs_h_ 00022 #define _CmpiArgs_h_ 00023 00024 #include "cmpidt.h" 00025 #include "cmpift.h" 00026 00027 #include "Linkage.h" 00028 #include "CmpiBaseMI.h" 00029 #include "CmpiObject.h" 00030 #include "CmpiStatus.h" 00031 #include "CmpiObjectPath.h" 00032 #include "CmpiBroker.h" 00033 #include "CmpiBaseMI.h" 00034 00039 class CMPI_PROVIDER_LINKAGE CmpiArgs : public CmpiObject { 00040 friend class CmpiBroker; 00041 friend class CmpiMethodMI; 00042 protected: 00043 00046 CmpiArgs(CMPIArgs* enc); 00047 00050 CMPIArgs *getEnc() const; 00051 00052 void *makeArgs(CMPIBroker* mb); 00053 private: 00054 public: 00055 00058 CmpiArgs(); 00059 00064 unsigned int getArgCount() const; 00065 00071 CmpiData getArg(const char* name) const; 00072 00079 CmpiData getArg(const int index, CmpiString *name=NULL) const; 00080 00086 void setArg(const char* name, const CmpiData& data); 00087 }; 00088 00089 #endif