added v2test_im
diff --git a/TEST/Makefile.am b/TEST/Makefile.am
index cd2e705..adc9359 100644
--- a/TEST/Makefile.am
+++ b/TEST/Makefile.am
@@ -62,7 +62,8 @@
v2test_ei \
v2test_ein \
v2test_gc \
- print-types
+ v2test_im \
+ print-types
test_SOURCES = test.c show.c
test_LDADD = ../libcmpisfcc.la
@@ -192,6 +193,9 @@
v2test_gc_SOURCES = v2test_gc.c show.c
v2test_gc_LDADD = ../libcmpisfcc.la
+v2test_im_SOURCES = v2test_im.c show.c
+v2test_im_LDADD = ../libcmpisfcc.la
+
print_types_SOURCES = print-types.c
#@INC_AMINCLUDE@
diff --git a/TEST/v2test_im.c b/TEST/v2test_im.c
new file mode 100644
index 0000000..8592662
--- /dev/null
+++ b/TEST/v2test_im.c
@@ -0,0 +1,99 @@
+/*
+ * test_im1.c
+ *
+ * (C) Copyright IBM Corp. 2005
+ * (C) Copyright Intel Corp. 2005
+ *
+ * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
+ * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
+ * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
+ *
+ * You can obtain a current copy of the Eclipse Public License from
+ * http://www.opensource.org/licenses/eclipse-1.0.php
+ *
+ * Author: Adrian Schuur <schuur@de.ibm.com>
+ *
+ * Description:
+ *
+ * Testing method invocation over SfcbLocal using
+ * SFCB's cmpiTestMethodProvider
+ */
+
+#include <cimc.h>
+#include <cmci.h>
+#include <native.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#include "show.h"
+
+int main()
+{
+ CIMCEnv* ce;
+ CIMCClient* client;
+ char* msg;
+ CIMCStatus cstatus;
+ int rc;
+
+ CIMCObjectPath * objectpath;
+ CMPIStatus status;
+ CIMCArgs * args;
+ char *cim_host, *cim_host_passwd, *cim_host_userid, *cim_host_port;
+ CIMCData retval;
+ CIMCValue arg;
+
+ /* Setup a connection to the CIMOM */
+ cim_host = getenv("CIM_HOST");
+ if (cim_host == NULL) cim_host = "localhost";
+ cim_host_userid = getenv("CIM_HOST_USERID");
+ if (cim_host_userid == NULL) cim_host_userid = "root";
+ cim_host_passwd = getenv("CIM_HOST_PASSWD");
+ if (cim_host_passwd == NULL) cim_host_passwd = "password";
+ cim_host_port = getenv("CIM_HOST_PORT");
+ if (cim_host_port == NULL) cim_host_port = "5988";
+
+ ce = NewCIMCEnv("SfcbLocal",0,&rc,&msg);
+ // ce = NewCIMCEnv("XML",0,&rc,&msg);
+ client = ce->ft->connect(ce, cim_host , "http", cim_host_port, cim_host_userid, cim_host_passwd , &cstatus);
+
+ objectpath = ce->ft->newObjectPath(ce, "root/cimv2", "Sample_Method", NULL);
+
+ printf("+++creating args\n");
+
+ args = ce->ft->newArgs(ce, NULL);
+ CIMCValue a;
+ const int ARR_SIZE = 1672;
+ a.array = ce->ft->newArray(ce, ARR_SIZE, CMPI_uint8, NULL);
+
+ arg.uint8 = 123;
+
+ int i;
+ for (i = 0; i < ARR_SIZE; i++) {
+ a.array->ft->setElementAt(a.array, i, &arg, CMPI_uint8);
+ }
+
+ args->ft->addArg(args, "IntArray", &a, CMPI_uint8A);
+
+ printf("+++calling invoke method\n");
+
+ retval = client->ft->invokeMethod(client, objectpath, "CheckArrayNoType", args, NULL, &cstatus);
+
+ /* Print the results */
+ printf( "invokeMethod() rc=%d, msg=%s\n",
+ status.rc, (status.msg)? (char *)status.msg->hdl : NULL);
+
+ // if (args) CMRelease(args);
+ printf("release status\n");
+ if (status.msg) CMRelease(status.msg);
+
+ if (!status.rc) {
+ char *cv = value2Chars(retval.type,&(retval.value));
+ printf("result(s):\n\treturn value: "%s"\n", cv);
+ }
+
+ if (objectpath) CMRelease(objectpath);
+ if (ce) CMRelease(ce);
+
+ return 0;
+}
+