testexecmgmt/ucc/Source/Uccs.v2/ServiceStubs/GenericStub/GenericStub_clnt.c
changeset 0 3da2a79470a7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecmgmt/ucc/Source/Uccs.v2/ServiceStubs/GenericStub/GenericStub_clnt.c	Mon Mar 08 15:04:18 2010 +0800
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+
+
+#include <rpc/rpc.h>
+#include "GenericStub.h"
+
+/* Default timeout can be changed using clnt_control() */
+static struct timeval TIMEOUT = { 25, 0 };
+static struct timeval RUNCMD_TIMEOUT = { 3600, 0 }; // One hour (should be plenty)
+
+int *
+ss_startuprpcservice_11(argp, clnt)
+	TStartupInfo *argp;
+	CLIENT *clnt;
+{
+	static int res;
+
+	bzero((char *)&res, sizeof(res));
+	clnt_call(clnt, SS_STARTUPRPCSERVICE, xdr_GenericStub_TStartupInfo, argp, xdr_int, &res, TIMEOUT);
+	return (&res);
+}
+
+
+int *
+sc_shutdownrpcservice_11(argp, clnt)
+	int *argp;
+	CLIENT *clnt;
+{
+	static int res;
+
+	bzero((char *)&res, sizeof(res));
+	clnt_call(clnt, SC_SHUTDOWNRPCSERVICE, xdr_int, argp, xdr_int, &res, TIMEOUT);
+	return (&res);
+}
+
+
+TComponentList *
+list_connections_11(argp, clnt)
+	void *argp;
+	CLIENT *clnt;
+{
+	static TComponentList res;
+
+	bzero((char *)&res, sizeof(res));
+	clnt_call(clnt, LIST_CONNECTIONS, xdr_void, argp, xdr_GenericStub_TComponentList, &res, TIMEOUT);
+	return (&res);
+}
+
+
+int *
+cstr_startprocess_11(argp, clnt)
+	char **argp;
+	CLIENT *clnt;
+{
+	static int res;
+
+	bzero((char *)&res, sizeof(res));
+	clnt_call(clnt, CSTR_STARTPROCESS, xdr_wrapstring, argp, xdr_int, &res, TIMEOUT);
+	return (&res);
+}
+
+
+int *
+dstr_removeprocess_11(argp, clnt)
+	int *argp;
+	CLIENT *clnt;
+{
+	static int res;
+
+	bzero((char *)&res, sizeof(res));
+	clnt_call(clnt, DSTR_REMOVEPROCESS, xdr_int, argp, xdr_int, &res, TIMEOUT);
+	return (&res);
+}
+
+
+int *
+run_command_11(argp, clnt)
+	TCall *argp;
+	CLIENT *clnt;
+{
+	static int res;
+
+	// Increase the timeout for this call
+	clnt_control(clnt, CLSET_TIMEOUT, &RUNCMD_TIMEOUT);
+
+	bzero((char *)&res, sizeof(res));
+	clnt_call(clnt, RUN_COMMAND, xdr_GenericStub_TCall, argp, xdr_int, &res, RUNCMD_TIMEOUT);
+
+	// Revert back to the default timeout 
+	clnt_control(clnt, CLSET_TIMEOUT, &TIMEOUT);
+	
+	return (&res);
+}
+