smf/smfservermodule/smfclient/smfclientqt.h
changeset 18 013a02bf2bb0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclientqt.h	Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,74 @@
+/**
+ * Copyright (c) 2010 Sasken Communication Technologies Ltd.
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "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:
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Manasij Roy, Nalina Hariharan
+ */
+
+#ifndef SMFCLIENTQT_H
+#define SMFCLIENTQT_H
+
+#include <QObject>
+#include <QByteArray>
+#include <QString>
+#include <QLocalSocket>
+
+#include "smfglobal.h"
+
+class SmfClientQt : public QObject
+	{
+Q_OBJECT
+
+public:
+    explicit SmfClientQt(QObject *parent = 0);
+    
+    ~SmfClientQt();
+
+public:
+    /**
+     * Send a request to the server.
+     * @param aSerializedData serialized by the caller.
+     * @param aInterfaceName Interface name
+     * @param requestType Opcode
+     */
+    int sendRequest(QByteArray& aSerializedData,
+                QString aInterfaceName,
+                SmfRequestTypeID requestType);
+
+    /**
+     * This overloaded API is for ESmfGetServices, where data should be
+     * fetched synchronously
+     */
+    QByteArray sendRequest(QString aInterfaceName,
+                SmfRequestTypeID requestType);
+
+    /**
+     * For testing purpose only
+     */
+    int sendDummyRequest(QByteArray* provider,QString aInterfaceName,
+                SmfRequestTypeID requestType);
+
+    /**
+    * CancelRequest.
+    * Cancels an outstanding request.
+    */
+    void CancelRequest();
+
+private slots:
+    void connectionEstablished();
+    void readIncomingData();
+    void handleError(QLocalSocket::LocalSocketError error);
+
+private:
+    QLocalSocket *m_serverConnection;
+	};
+
+#endif // SMFCLIENTQT_H