diff -r 3406c99bc375 -r 07b41fa8d1dd hti/PC_Tools/HTIGateway/HtiGateway/inc/plugin.h --- a/hti/PC_Tools/HTIGateway/HtiGateway/inc/plugin.h Thu Jul 15 20:25:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ -/* -* Copyright (c) 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: -* This file contains the headers of Plugin, FrontendPlugin, -* CommChannelPlugin and CommChannelPluginObserver classes and implementation -* of DummyCommObserver. -*/ - -#ifndef PLUGIN_H -#define PLUGIN_H - -#pragma warning ( disable : 4786 ) - -#include -#include "common.h" - -using namespace std; - -//********************************************************************************** -// Class Plugin -// -//********************************************************************************** - -class Plugin -{ -public: - enum PluginType { null, dummy, frontend, comm_channel }; - -public: - virtual PluginType GetType() { return null; } - virtual DWORD Init(); - virtual const string& GetName(string *name = NULL); - -protected: - Plugin(); - -protected: - string m_Name; -}; - -//********************************************************************************** -// Class FrontendPlugin -// -//********************************************************************************** - -class FrontendPlugin : public Plugin -{ -public: - virtual PluginType GetType() { return frontend; } - virtual DWORD Init(); -}; - -//********************************************************************************** -// Class CommChannelPluginObserver -// -//********************************************************************************** - -class CommChannelPluginObserver -{ -public: - virtual void NotifyDataAvailable() = 0; - virtual void NotifyCommChannelOpened() = 0; - virtual void NotifyCommChannelClosed() = 0; -}; - -//********************************************************************************** -// Class DummyCommObserver -// -//********************************************************************************** - -class DummyCommObserver : public CommChannelPluginObserver -{ -public: - void NotifyDataAvailable() { }; - void NotifyCommChannelOpened() { }; - void NotifyCommChannelClosed() { }; -}; - -//********************************************************************************** -// Class CommChannelPlugin -// -// This class is the parent class of all communication channel plugins used -// in DataGateway. -//********************************************************************************** - -class CommChannelPlugin : public Plugin -{ -public: - PluginType GetType() { return comm_channel; } - virtual DWORD Init(); - virtual DWORD Open() = 0; - virtual bool IsOpen() { return m_Open; } - /* - * This method closes and deletes the instance of plugin - */ - virtual DWORD Close() = 0; - /* - * This method is used to send Data object and Receive Data object - */ - virtual DWORD SendReceive(Data* data_in, Data** data_out, long timeout = 5000) = 0; - /* - * This method is used to send Data object - */ - virtual DWORD Send(Data* data_in, long timeout = 5000) = 0; - /* - * This method is used to receive Data object - */ - virtual DWORD Receive(Data** data_out, long timeout = 5000) = 0; - /* - * This method creates instance of specified plugin - */ - static CommChannelPlugin* Instance(const string& pluginname, - const CommChannelPluginObserver* observer = NULL); - /* - * This method initializes and connects the instance of plugin - */ - static DWORD Connect(); - /* - * This method closes and deletes the instance of plugin - */ - static DWORD Disconnect(); - -protected: - CommChannelPlugin(const CommChannelPluginObserver* observer = NULL); - const CommChannelPluginObserver* GetObserver() { return m_Observer; } - -protected: - const CommChannelPluginObserver* m_Observer; - bool m_Open; - -private: - static CommChannelPlugin* m_Self; -}; - -#endif - -// End of the file \ No newline at end of file