diff -r 000000000000 -r 094583676ce7 wvuing/IMOpenConversation/Inc/CIMOpenConversationInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/IMOpenConversation/Inc/CIMOpenConversationInterface.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,97 @@ +/* +* Copyright (c) 2002 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: Open conversation plugin +* Interface : Private +* +*/ + + +#ifndef __CIMOPENCONVERSATION_H +#define __CIMOPENCONVERSATION_H + + +// INCLUDES +#include +#include + +// CONSTANTS + +// FORWARD DECLARATIONS +class CPbkContactItem; +class CPbkContactEngine; + + +// CLASS DECLARATION + +/** + * Plug-in interface for opening IM conversation. + */ +class CIMOpenConversationInterface : public CBase + { + public: // Constructor and destructor + /** + * Creates a new instance of CIMOpenConversationInterface. + */ + static CIMOpenConversationInterface* NewLC(); + /** + * Destructor. + */ + virtual ~CIMOpenConversationInterface(); + + public: // Interface + /** + * Opens conversation with aContact. Uses a aContact's wvid + * for identification. + * + * @param aContact conversation to be opened with + * @param aPbkEngine forwarded to search + */ + virtual void OpenConversationL + ( CPbkContactItem& aContact, CPbkContactEngine& aPbkEngine ) = 0; + + protected: // Implementation + CIMOpenConversationInterface(); + + private: // Data + TUid iDtor_ID_Key; + }; + +// INLINE FUNCTIONS + +inline CIMOpenConversationInterface* CIMOpenConversationInterface::NewLC() + { + const TUid KIMOpenConversationImplementationUID = { 0x101f8595 }; + + TAny* ptr = REComSession::CreateImplementationL + ( KIMOpenConversationImplementationUID, + _FOFF( CIMOpenConversationInterface, iDtor_ID_Key ) ); + CIMOpenConversationInterface* impl = + reinterpret_cast( ptr ); + CleanupStack::PushL( impl ); + return impl; + } + +inline CIMOpenConversationInterface::~CIMOpenConversationInterface() + { + REComSession::DestroyedImplementation( iDtor_ID_Key ); + } + +inline CIMOpenConversationInterface::CIMOpenConversationInterface() + { + } + +#endif + +// End of file +