--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecmgmt/ucc/Source/Uccs.v2/Core/UCCS_CServMgr.h Mon Mar 08 15:04:18 2010 +0800
@@ -0,0 +1,104 @@
+/*
+* 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:
+* Filename: UCCSServMgr.h
+*
+*/
+
+
+
+#ifndef __UCCSSERVICEMANAGER_H__
+#define __UCCSSERVICEMANAGER_H__
+
+/***********************************************************************************
+ *
+ * Local Includes
+ *
+ **********************************************************************************/
+#include "UCCS_CDataRecord.h"
+#include "UCCS_Interfaces.h"
+#include "UCCS_ServiceValues.h"
+
+/***********************************************************************************
+ *
+ * Definition
+ *
+ **********************************************************************************/
+#define MAXSERVICES 128
+#define MAXHOSTNAME 256
+#define MAXINIPATH 1024
+#define MAXSERVICENAME 256
+
+/***********************************************************************************
+ *
+ * Types
+ *
+ **********************************************************************************/
+typedef struct
+{
+ TRpcServiceID iServiceID;
+ char iHostname[MAXHOSTNAME];
+} TServiceTableEntry;
+
+typedef struct
+{
+ int iServiceID;
+ char iServiceName[MAXSERVICENAME];
+ char iIniFile[MAXINIPATH];
+ char iHost[MAXHOSTNAME];
+} TGenericService;
+
+
+//----------------------------------------------------------------------------------
+//
+// Class used to communicate with the stub interfaces.
+// Class uses same methods as IService but methods here also have a service ID to use.
+//
+class CServiceManager
+{
+ public:
+
+ //constructor/destructor
+ CServiceManager( IOutput *aOutput );
+ ~CServiceManager();
+ int ShutdownAll();
+
+ // duplicated interface method - the only one to be seen from outside at this level
+ int IssueCommand(CDataRecord* aDataRecord, CDataRecord** aReturnedDataRecord);
+
+ // reset a service
+ int ResetService( int aServiceID, char *aHostname );
+ int ResetAllServices();
+
+ private:
+
+ // get the local service index
+ int GetLocalServiceIndex( int aServiceID, char *aServiceHost );
+
+ // duplicated interface methods used to dumultiplex for the higher layers
+ int LocalStartService( int aServiceID, char *aServiceHost );
+ int LocalStopService( int aLocalServiceIndex );
+
+ //defines interface pointers to the service handlers
+ IService *iServiceList[MAXSERVICES];
+ TServiceTableEntry iServiceDescTable[MAXSERVICES];
+ IOutput *iOutput;
+
+ // GenericStub Service id's
+ int iNumGenericServices;
+ TGenericService iGenericServices[MAXSERVICES];
+};
+
+//----------------------------------------------------------------------------------
+#endif __UCCSSERVICEMANAGER_H__