epoc32/include/app/imclient.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
--- a/epoc32/include/app/imclient.h	Wed Mar 31 12:27:01 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2004 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 "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
-* which accompanies this distribution, and is available
-* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface for Instant Messaging services
-*
-*/
-
-
-#ifndef OPENAPI_IM_CLIENT_H
-#define OPENAPI_IM_CLIENT_H
-
-// INCLUDES
-#include <e32base.h>
-#include <bamdesca.h>
-#include <cntdef.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class MImObserver;
-class MImClientDetailedError;
-
-// CLASS DECLARATION
-/**
-*  Instant Messaging interface class
-*  This interface class provides methods to send and receive instant messages.
-*  Application to be able to receive IMs it must register its own observer
-*  using this interface class.
-*  This interface can be obtained using a factory method from the CImConnection
-*  class.
-*
-*  @lib imclient.lib
-*  @since S60 3.0
-*/
-class MImClient
-    {
-
-    public:
-
-        virtual ~MImClient() {}
-
-        /**
-        * Method for registering the IM client to the WV Engine.
-        * This method is synchronous.
-        * @since S60 3.0
-        * @param aObserver observer object used for notifying the user
-        *        software
-        * @leave KImApiErrAlreadyRegistered if it was registered already or other system wide error code
-        */
-        virtual void RegisterObserverL(
-            MImObserver* aObserver ) = 0;
-
-        /**
-        * Method for unregistering the IM Sender from the WV Engine.
-        * This method is synchronous method.
-        * @since S60 3.0
-        */
-        virtual void UnregisterObserver( ) = 0;
-
-        /**
-        * Method for sending person-to-person text message (UNICODE) using
-        * Contact Model IDs. This method is asynchronous and it’s completion
-        * is signaled in HandleMessageSentL() method.
-        * The method will leave on error. The API specific error codes are
-        * in imerrors.h file
-        * @since S60 3.0
-        * @param aContactItem Contact Model ID of the recipient
-        * @param aContent The content of the message in UNICODE
-        * @return operation code
-        * @leave KImApiErrNotRegistered observer was not registered
-        * @leave KImApiErrInvalidContactId the contact ID does not have a corresponding User ID
-        */
-        virtual TInt SendPToPMessageL(
-            const TContactItemId& aContactItem,
-            const TDesC16& aContent ) = 0;
-
-        /**
-        * Method for sending person-to-person text message (UNICODE) using
-        * Contact Model IDs. This method is asynchronous and its completion
-        * is signaled in HandleMessageSentL() method.
-        * The method will leave on error. The API specific error codes are
-        * in imerrors.h file
-        * Please note that one contact can have more than one assigned IM user
-        * ID. Sending IM to those contacts will result in partial success.
-        * @since S60 3.0
-        * @param aContactIds Contact Model Ids of the recipient(s)
-        * @param aContent The content of the message in UNICODE
-        * @return operation code
-        * @leave KImApiErrNotRegistered observer was not registered
-        * @leave KImApiErrInvalidContactId the contact ID does not have a corresponding User ID
-        */
-        virtual TInt SendPToPMessageL(
-            const CContactIdArray& aContactIds,
-            const TDesC16& aContent ) = 0;
-
-        /**
-        * Method for sending person-to-person binary (or 8bit text) message
-        * using Contact Model IDs. This method is asynchronous and its
-        * completion is signaled in HandleMessageSentL() method.
-        * The method will leave on error. The API specific error codes are
-        * in imerrors.h file
-        * Please note that one contact can have more than one assigned IM user
-        * ID. Sending IM to those contacts will result in partial success.
-        * @since S60 3.0
-        * @param aContactIds Contact Model Ids of the recipient(s)
-        * @param aContentType MIME type of the content
-        * @param aContent The content of the message
-        * @return operation code
-        *
-        * NOTE: Not yet supported!
-        */
-        virtual TInt SendPToPMessageL(
-            const CContactIdArray& aContactIds,
-            const TDesC& aContentType,
-            const TDesC8& aContent ) = 0;
-
-        /**
-        * Method for sending person-to-person text message using
-        * directly the User IDs.
-        * This method is asynchronous and its completion is signaled
-        * in HandleMessageSentL() method.
-        * The method will leave on error. The API specific error codes are
-        * in imerrors.h file
-        * @since S60 3.0
-        * @param aUserId the recipient of the message
-        * @param aContent the message in UNICODE
-        * @return operation code.
-        * @leave KImApiErrNotRegistered observer was not registered
-        * @leave KImApiErrInvalidUserId wrong User ID
-        */
-        virtual TInt SendPToPMessageL(
-            const TDesC& aUserId,
-            const TDesC16& aContent ) = 0;
-
-        /**
-        * Method for sending person-to-person text message using
-        * directly the User IDs.
-        * This method is asynchronous and its completion is signaled
-        * in HandleMessageSentL() method.
-        * The method will leave on error. The API specific error codes are
-        * in imerrors.h file
-        * @since S60 3.0
-        * @param aUserIds recipient(s) of the message
-        * @param aContent the message in UNICODE
-        * @return operation code.
-        * @leave KImApiErrNotRegistered observer was not registered
-        * @leave KImApiErrInvalidUserId wrong User ID
-        */
-        virtual TInt SendPToPMessageL(
-            const MDesCArray& aUserIds,
-            const TDesC16& aContent ) = 0;
-
-        /**
-        * Method for sending person-to-person binary (or 8 bit text) message
-        * using directly the User IDs.
-        * This method is asynchronous and its completion is signaled
-        * in HandleMessageSentL() method.
-        * The method will leave on error. The API specific error codes are
-        * in imerrors.h file
-        * @since S60 3.0
-        * @param aUserIds recipient(s) of the message
-        * @param aContentType MIME type of the message
-        * @param aContent the message
-        * @return operation code.
-        *
-        * NOTE: Not yet supported!
-        */
-        virtual TInt SendPToPMessageL(
-            const MDesCArray& aUserIds,
-            const TDesC& aContentType,
-            const TDesC8& aContent ) = 0;
-
-    };
-
-
-// CLASS DECLARATION
-/**
-*  Observer interface for Instant Messaging
-*  The user shall implement this interface and register it through the MImClient
-*  interface to the API to be able to receive IMs
-*
-*  @lib imclient.lib
-*  @since S60 3.0
-*/
-class MImObserver
-    {
-
-    public:
-
-        /**
-        * This method is called when the SendPToPMessageL succeeded
-        * @since S60 3.0
-        * @param aOpCode operation code matching the called functions.
-        * @param aErrorCode error codes.
-        */
-        virtual void HandleMessageSentL(
-            const TInt aOpCode,
-            const TInt aErrorCode ) = 0;
-
-        /**
-        * This method is called when the SendPToPMessageL failed for some reason.
-        * If the IM was sent to more recipients the error can be a partial
-        * success. In that case the detailed error codes for each user can
-        * fetched separately. Please note that the aDetailedError is valid
-        * during the function call. After that it gets destroyed in the API.
-        * @since S60 3.0
-        * @param aOpCode operation code matching the called functions.
-        * @param aErrorCode error codes.
-        * @param aDetailedError list of errors for each failed user ID.
-        */
-        virtual void HandleSendErrorL(
-            const TInt aOpCode,
-            const TInt aErrorCode,
-            MImClientDetailedError* aDetailedError ) = 0;
-
-        /**
-        * This method is called when a new point-to-point text message
-        * has arrived.
-        * @since S60 3.0
-        * @param aErrorCode error codes (to be defined)
-        * @param aContactId Contact model ID of the sender
-        * @param aUserId UserID of the message sender
-        * @param aMessageType MIME type of the received message
-        * @param aContent the message in UNICODE
-        */
-        virtual void HandleNewPToPMessageL(
-            const TInt aErrorCode,
-            const TContactItemId  aContactId,
-            const TDesC& aUserId,
-            const TDesC& aMessageType,
-            const TDesC16& aContent ) = 0;
-
-        /**
-        * This method is called when a new point-to-point message (8bit)
-        * has arrived. The message can be text or binary data.
-        * @since S60 3.0
-        * @param aErrorCode error codes (to be defined)
-        * @param aContactId Contact model ID of the sender
-        * @param aUserId UserID of the message sender
-        * @param aMessageType MIME type of the received message
-        * @param aContent the message
-        *
-        * NOTE: Not yet supported!
-        */
-        virtual void HandleNewPToPMessageL(
-            const TInt aErrorCode,
-            const TContactItemId  aContactId,
-            const TDesC& aUserId,
-            const TDesC& aMessageType,
-            const TDesC8& aContent ) = 0;
-
-    };
-
-// CLASS DECLARATION
-/**
-*  Detailed errors accessor class
-*  @lib imclient.lib
-*  @since S60 3.0
-*/
-class MImClientDetailedError
-    {
-
-    public:
-        /**
-        * Gets the number of failed User IDs
-        * @since S60 3.0
-        * @return number of failed user IDs
-        */
-        virtual TInt Count() = 0;
-
-        /**
-        * Gets the failed User ID
-        * @since S60 3.0
-        * @param aIndex index of the user in the list
-        * @return failed user ID
-        */
-        virtual const TDesC& UserId( TInt aIndex ) = 0;
-
-        /**
-        * Gets the reason of the failure. The API specific error codes are
-        * defined in imerrors.h file.
-        * @since S60 3.0
-        * @param aIndex index of the user in the list
-        * @return the fail reason
-        */
-        virtual TInt ErrorCode( TInt aIndex ) = 0;
-
-    };
-
-#endif
-// End of File