diff -r a36b1e19a461 -r 989d2f495d90 serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/inc/messagenotify.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/inc/messagenotify.h Fri Jul 03 15:51:24 2009 +0100 @@ -0,0 +1,117 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* +*/ + + + +#ifndef __MESSAGENOTIFY_H +#define __MESSAGENOTIFY_H + +class CMsgCallbackBase; +class CMessageHeader; + +#include + +/** + *This class implements MessageNotify SAPI core logic.It includes + * methods for notification of new messages. + * + */ +class CMessageObserver : public CBase, public MMsvSessionObserver + { + public: + + /** + * Two-phased constructor. + * @param CMsvSession* a message server session. + * @param CMsgCallbackBase* + */ + static CMessageObserver* NewL( CMsvSession* aSession = NULL, + CMsgCallbackBase* aNotifyCallback = NULL ); + + /** + * Destructor. + */ + virtual ~CMessageObserver(); + + /** + * Inherited from MMsvSessionObserver class + */ + virtual void HandleSessionEventL( TMsvSessionEvent aEvent, + TAny* aArg1, + TAny* aArg2, + TAny* aArg3 ); + + /** + * Sets the message server session + * @param aSession It is a message server session. + */ + void SetSession( CMsvSession* aSession ); + + /** + * Sets the callback object + * @param aCallback It is callback object to be registered + * @return Old callback object + */ + CMsgCallbackBase* SetCallback( CMsgCallbackBase* aCallback ); + + /** + * Checks if Notification is activated + * + * @return True if notification request is active. + */ + TBool IsActive(); + + private: + + /** + * Default constructor. + * @param aSession It is an object of CMsvSession Class which + * represents a channel of communication between a client thread + * and the Message Server thread . + * @param aNotifyCallback It is a callback notification + */ + CMessageObserver( CMsvSession* aSession, CMsgCallbackBase* aNotifyCallback ); + + /** + * Sets the message header fields + * @param aMessageId It is the ID of message whose header fields are to be set + */ + CMessageHeader* MessageHeaderL( TMsvId aMessageId ); + + private: + + /** + * Message server session + * Not own. + */ + CMsvSession* iServerSession; + + /** + * Callback Object + * Not own. + */ + CMsgCallbackBase* iNotifyCallback; + + /** + * Message ID + */ + TMsvId iNewMessageId; + }; + + + +#endif __MESSAGENOTIFY_H \ No newline at end of file