tag it

diff --git a/configure.in b/configure.in
index ffce54a..4ff99a3 100644
--- a/configure.in
+++ b/configure.in
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT(wsmancli, 1.1.0)
+AC_INIT(wsmancli, 1.2.0)
 AC_CONFIG_SRCDIR(wsmancli.spec.in)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 AM_CONFIG_HEADER(config.h)
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 766fcd2..fa0aa4d 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS =  #cpp
+SUBDIRS =  cpp
 
 AM_CFLAGS = @CFLAGS@
 
diff --git a/examples/cpp/EnumInstance.cpp b/examples/cpp/EnumInstance.cpp
index 2a5cc53..223ee75 100644
--- a/examples/cpp/EnumInstance.cpp
+++ b/examples/cpp/EnumInstance.cpp
@@ -1,5 +1,6 @@
 #include <iostream>
-#include <cpp/WsmanClient.h>
+#include <cpp/OpenWsmanClient.h>
+#include <u/libu.h>
 
 using std::cout;
 
@@ -7,6 +8,7 @@
 int main(int argc, char* argv[])
 {
 	const char *endpoint, *resource_uri;
+	u_uri_t *uri;
 	if (argc< 3) {
 		fprintf(stderr, "Usage: %s <endpoint> <resource uri>\n", argv[0]);
 	}
@@ -17,18 +19,25 @@
 		fprintf(stderr, "endpoint option required\n");
 		return 1;
 	}
-	WsmanClient client = WsmanClient(endpoint);
+	if (endpoint != NULL)
+		if (u_uri_parse((const char *) endpoint, &uri) != 0 )
+			return 1;
+	OpenWsmanClient *client = new OpenWsmanClient( uri->host,
+			uri->port,
+			uri->path,
+			uri->scheme,
+			"digest",
+			uri->user,
+			uri->pwd);
 	vector<string> vec;
 	try {
-		client.Enumerate(resource_uri, vec );
+		client->Enumerate(resource_uri, vec );
 	}
 
-	catch (WsmanException &e) {
-		cout << "Fault:\n";
-		cout << "\tCode:\t\t" << e.GetFaultCode() << "\n";
-		cout << "\tSubCode:\t" << e.GetFaultSubcode() << "\n";
-		cout << "\tDetail:\t\t" << e.GetFaultDetail() << "\n";
-		cout << "\tReson:\t\t" << e.GetFaultReason() << "\n";
+	catch (GeneralWsmanException &e) {
+		printf("\nError: failed while calling AMT_SOAPEventSubscriber::Delete routine\n");
+		printf("GeneralWsmanException:\n");
+		printf("%s\n", e.what());
 
 	}
 	for (vector<string>::iterator iter = vec.begin();
diff --git a/examples/cpp/GetInstance.cpp b/examples/cpp/GetInstance.cpp
deleted file mode 100644
index 965fccc..0000000
--- a/examples/cpp/GetInstance.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <iostream>
-#include <cpp/WsmanClient.h>
-
-using std::cout;
-
-using namespace WsmanClientNamespace;
-int main(int argc, char* argv[])
-{
-	WsmanClient client = WsmanClient("http://wsman:secret@192.168.1.41:8889/wsman");
-	NameValuePairs selectors = NameValuePairs();
-	selectors["CreationClassName"] =  "CWS_Instance";
-	selectors["Id"] = "Instance #1";
-	string r = client.Get("http:///cws.sblim.sf.net/wbem/wscim/1/cim-schema/2/CWS_Instance", &selectors );
-	cout << "resource: \n" << r << "\n";
-	return 0;
-}
diff --git a/examples/cpp/Makefile.am b/examples/cpp/Makefile.am
index 10ad9f8..e1bbf74 100644
--- a/examples/cpp/Makefile.am
+++ b/examples/cpp/Makefile.am
@@ -6,12 +6,9 @@
        $(OPENWSMAN_CFLAGS) 
 EnumInstance_SOURCES = \
 		EnumInstance.cpp
-GetInstance_SOURCES = \
-		GetInstance.cpp
 
 noinst_PROGRAMS = \
-	EnumInstance \
-	GetInstance
+	EnumInstance 
    
 
 
diff --git a/src/wsman.c b/src/wsman.c
index 6fff78f..02fba8c 100644
--- a/src/wsman.c
+++ b/src/wsman.c
@@ -298,7 +298,7 @@
 	}
 	u_error_free(error);
 
-	// set default options 
+	// set default options
 	if (server_port == 0) {
 		server_port = cainfo ? 8888 : 8889;
 	}
@@ -363,8 +363,8 @@
           wsmc_transport_get_auth_name( auth));
 	  */
   printf("User name: ");
-  fflush(stdout); 
-  if ( (p = fgets(user, 20, stdin) ) != NULL ) 
+  fflush(stdout);
+  if ( (p = fgets(user, 20, stdin) ) != NULL )
   {
 
     if (strchr(user, '\n'))
@@ -467,7 +467,7 @@
 		cl = wsmc_create(server,
 				server_port,
 				url_path,
-				cainfo? "https" : "http", 
+				cainfo? "https" : "http",
 				username,
 				password);
 	}
@@ -711,8 +711,10 @@
 			if (wsmc_get_response_code(cl) != 200
 					&& wsmc_get_response_code(cl) != 400
 					&& wsmc_get_response_code(cl) != 500) {
+				u_free(enumContext);
 				break;
 			}
+			u_free(enumContext);
 			enumContext = wsmc_get_enum_context(doc);
 			if (doc) {
 				ws_xml_destroy_doc(doc);
@@ -735,9 +737,8 @@
 		}
 	}
 	wsmc_options_destroy(options);
-	wsmc_release(cl);
-
 	wsmc_transport_fini();
+	wsmc_release(cl);
 	if (ini) {
 		iniparser_freedict(ini);
 	}