qthighway/xqserviceipc/xqserviceipcserver/xqserviceipcserver_p.h
branchRCL_3
changeset 9 5d007b20cfd0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qthighway/xqserviceipc/xqserviceipcserver/xqserviceipcserver_p.h	Tue Aug 31 16:02:37 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, version 2.1 of the License.
+* 
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program.  If not, 
+* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
+*
+* Description:  Service Framework IPC Private implementation
+*
+*/
+
+#ifndef XQ_SERVICE_FRAMEWORK_IPC_PRIVATE_SERVER_H
+#define XQ_SERVICE_FRAMEWORK_IPC_PRIVATE_SERVER_H
+
+#include <QtCore>
+#include "xqserviceipcserver_p.h"
+#include "xqserviceipcserver.h"
+
+namespace QtService {
+    
+    class ServiceFwIPCServer;
+    class ServiceIPCSession;
+    class MServiceIPCObserver;
+    
+    /**
+     *  Private implementation interface for service framework server
+     *  This class is the abstract interface for all server backends
+     */
+    class ServiceFwIPCServerPrivate
+    {
+    public:
+        /**
+        * Virtual destructor
+        */
+        virtual ~ServiceFwIPCServerPrivate() {};
+
+    public:
+    
+        /**
+         * Start listening for new service requests
+         * @param aServerName name of the server
+         * @return true if listen was successful
+         */
+        virtual bool listen(const QString& aServerName) = 0;
+    
+        /**
+         * Shutdown the server and stop serving clients 
+         * @return void
+         */
+        virtual void disconnect() = 0;
+    
+    protected:
+    
+        /**
+         * Get the server observer
+         * @return MServiceIPCObserver* observer to this server
+         */
+        inline MServiceIPCObserver* Observer()
+        {
+            return q->iObserver;
+        };
+    
+    protected:
+        QList<ServiceIPCSession*> iSessions;
+    
+    private:
+        friend class ServiceFwIPCServer;
+        ServiceFwIPCServer* q;
+    };
+
+}
+#endif // XQ_SERVICE_FRAMEWORK_IPC_PRIVATE_SERVER_H