diff -r 000000000000 -r 5e5d6b214f4f uiservicetab/inc/tvimpstenums.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetab/inc/tvimpstenums.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,505 @@ +/* +* Copyright (c) 2008 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: enum for service tab +* +*/ + +#ifndef TVIMPSTENUMSPC_H +#define TVIMPSTENUMSPC_H + +#include +#include + +/* + This is main interface of arraywrapper on Process component side. + UI Side array decorator has to use this array and get the details required.... + + +*/ +//FORWARD DECLARATION +class MCCAParameter; +class MCCAConnection; + +/** + * structure + * encapsulating data required for search + */ +struct TVIMPSTSearchData + { + TPtrC iFirstName; /*First name*/ + TPtrC iLastName; /*Last name*/ + TPtrC iEmailId; /*Email Id*/ + }; + +/** + * structure + * TSendData for temp use,to be removed later + */ +struct TSendData + { + TPtrC msgText; /* actual message to be sent*/ + TPtrC recipientID; /* Id of hte receiver of the msgText.*/ + + }; + +/** + * structure + * TNewContact encpsulating data required for addaing a new contact. + */ +struct TNewContact + { + TPtrC listId; /* list id*/ + TPtrC displayName; /* display name*/ + TPtrC userId; /* user id */ + + }; + +/** + * structure + * TLaunchCCAData encpsulating data required for launching the details view + */ +struct TLaunchCCAData + { + MCCAParameter* iParameter; /* parameter */ + MCCAConnection* iConnection;/* connection */ + TInt iIndex; /* index of the contact */ + + }; + +/** + * structure + * TAddFriendResponse encpsulating data required for sending + * accapted/ rejected reactive authorization response. + */ +struct TAddFriendResponse + { + const TDesC& iRequesterId ; /* user id of the requestor*/ + TBool iResponse; // Accepted/Declined ETrue/EFalse + }; + +/** + * structure + * TVoipData encpsulating data required for voip + */ +struct TVoipData + { + TInt iWindowGroup; /* window group*/ + TInt iIndex; /* index of the contact */ + TUint32 iServiceId; /* service id*/ + }; +/** + * TVPbkSelectedData encapsulating data required for + * adding contact from phone book + * iPackedLinks HBufC8 pointer to hold packed links from selection dialog. + * iXSPList array of xsp id(s) retrived based on iPackedLinks. + */ +struct TVPbkSelectedData + { + HBufC8* iPackedLinks; + RPointerArray iXSPList; + }; +// CLASS DECLARATION + +/** + * TVIMPSTEnums all the enms and structures used across the application are defined here. + * @lib vimpstengine.lib + * @since 5.0 + */ +class TVIMPSTEnums + { + + public: // Enumerations and typedefs + + /** + * A enum + * to identify which type of service. + */ + enum TServiceIds + { + EXmppService = 0, /* xmmp service */ + EXizmoService /* gizmo service */ + }; + + + + enum SubServiceType + { + EVoip, + EPresence, + EIM, + ELast + }; + + enum ExtentionType + { + ESearch, + EBlocking, + EContactManagement, + EExtentionLast + }; + + enum FeatureSupport + { + ESupportUnKnown, + ESupported, + ENotSupported + }; + + /** + * A enum + * Registration states to control views + */ + enum TVIMPSTRegistrationState + { + ESVCENotRegistered = 0,/* Service Not registered*/ + ESVCERegistered = 0x8, /* Service registered */ + ESVCENetworkConnecting = 0x4, /* service connecting */ + ESVCEWaitingForNetwork = 0x2, /* service waiting for connection*/ + ESVCENetworkDisConnecting = 0x1, /* service disconnecting */ + ESVCEUpdatingContacts = 0x10 + }; + + + /** + * A enum + * to identify Type of operation + */ + enum TOperationType + { + EAddItem, /* Add item */ + ERemoveItem, /* Remove Item */ + EUpdateItem /* Update Item */ + }; + + /** + * A enum + * to identify errors. + */ + enum TImpsCSPAllErrors + { + EImpsErrNone = 0, /* no error */ + ECSPInsufficientGroupPrivileges, /* Insufficient group privileges error */ + ECSPNotSupported, /* Not supported error */ + ECSPInvalidParameter, /* Invalid parameter error */ + ECSPMultipleErrors /* general error */ + }; + + /** + * A enum + * to identify Type of item + */ + enum TItem + { + EInvalid = -1, /* unknown Item */ + EOwnStatusItem, /* Own item */ + EContactItem, /* Contact Item */ + EContactListItem, /* ContactList Item */ + EFriendRequestItem,/* Friend request item */ + EUnknonContactItem /* contact item but not in friend list */ + }; + + /** + * A enum + * to identify the onlne status + */ + enum TOnlineStatus + { + EUnknown = -1, /* unknown status */ + EOffline, /* Offline status */ + EOnline, /* Online status */ + EInvisible, /* Invisible status */ + EAway, /* Away status */ + EBusy, /* Busy status */ + EOnPhone, + EDoNotDisturb, + EPending, + EBlocked, + EServiceOut, + ECallForward + }; + + /** + * A enum + * ximp context states. + */ + enum TLoginState + { + EOffLine = 0, /* Context is inactive */ + ELogging, /* Context is binding to service */ + ELoggedIn, /* Context is active and binded to service */ + ELoggingOut, /* Context is unbinding from service */ + ERequestComplete, /* user cancel login */ + ELoggingCancel /* user cancel ongoing login */ + }; + + /** + * A enum + * Type of note + */ + enum TNoteType + { + EUnKnown = -1, /* unknown note type*/ + EWaiteNote, /* Wait note */ + EInfoNote, /* Info note */ + EWaiteNoteWithRSK, /* wait note with RSK */ + EConfirmationNote, /* Confirmation Note */ + EInformationNote /* Information note.*/ + }; + /** + * A enum + * request presence + */ + enum TVIMPSTPresenceRequestStatus + { + ESVCEPresenceRequestStatusUnKnown = -1, //unknown presence statusRequest Status might be NotFound + ESVCEPresenceRequestStatusAlwaysAsk = 0, /* ask when ever there si a request for presence.*/ + ESVCEPresenceRequestStatusAutoAccept /* auto accept when ever there is a request for presence.*/ + }; + + + + /** + * A enum + * Presence event + */ + enum TVIMPSTPresenceEvent + { + ESVCENoEvent = 0, /* No presence Event */ + ESVCERemotePartyAcceptedPresenceRequest, /* Remote contact accepted the presence request. */ + ESVCEExtensionRemotePartyBlockedYou, /* Remote contact blocked you */ + ESVCERemotePartyWantsToWatchYou /* remote contact requested for the your presence. */ + }; + + /** + * A enum + * Filter type for getting right contacts. + * Tells us what to show; for example EFilterAll + * does not filter out any statuses: all contacts are shown + */ + enum TFilterType + { + EFilterNotDefined = -1, /* Filter Not defined */ + EFilterAll = 0, /* Filter All*/ + EFilterAndOperation = 1, /* Filter based on AND operation*/ + EFilterOnline = 2, /* Fileter online */ + EFilterNonBlocked = 4, /* Filter non blocked */ + EFilterAway = 8, /* Filter Away */ + EFilterNonOffline = 16 /* this means online and away */ + }; + + /** + * A enum + * to identify client type + */ + enum TClientType + { + EUnknownClient = 0, /* Unknown Client*/ + EMobile, /* Mobile Client*/ + EPC /* PC Client*/ + }; + + /** + * A enum + * observer event types + */ + enum TVIMPSTStorgaeEventType + { + EStorageEventUnkown = -1, + EStorageEventListAddition, /* Storege ListAddition event*/ + EStorageEventListDelete, /* Storege ListDelete event*/ + EStorageEventListChanged, /* Storege ListChanged event*/ + EStorageEventContactAddition, /* Storege ContactAddition event*/ + EStorageEventContactDelete, /* Storege ContactDeletion event*/ + EStorageEventContactChange, /* storage contact information chnaged*/ + EStorageAvatarChange, // avatar change signal, + EStoragePresenceChange, // Contact presence chnages + EStorageMultiplePresenceChange, // Contact presence chnages + EStorageOwnPresenceChange, + EStorageAllContactRemoved, // all storage contact removed + EStorageContactFetchComplete, + EStorageEventDeleteFromPbk, + EStorageEventOwnUserChanged, + EStorageEventUserIdPreChange, // in pre change engin emust unsubscribe and close conversatio if exist + EStorageEventUserIdPostChange,// engine must subscribe here + EStorageContactReadComplete, + EStorageContactReading, + EStorageContactFetching, + EStorageContactFetchExistInStore, + EStorageContactSynchronizing + }; + + /** + * A enum + * Search Key Types + */ + enum TVIMPSTSearchKey + { + EVIMPSTSearchKeyUknown = -1, /* Unknown search key */ + EVIMPSTFirstName = 600, /* First Name search key */ + EVIMPSTMiddleName, /* Middle Name search key */ + EVIMPSTLastName, /* Last NAme search key */ + EVIMPSTFullName, /* Full Name search key */ + EVIMPSTNickName, /* Nick Name search key */ + EVIMPSTBirthday, /* BirthDay search key */ + EVIMPSTCountry, /* Country search key */ + EVIMPSTCity, /* City search key */ + EVIMPSTState, /* State search key */ + EVIMPSTEmailAddress, /* Email Address search key */ + EVIMPSTUser, /* User search key */ + EVIMPSTOrganisation, /* Organization search key */ + EVIMPSTOrganisationUnit /* Organization Unit search key */ + }; + + + + enum TVIMPSTBindStatus + { + EVIMPSTBindNotDone = 0, + EVIMPSTBindDone, + EVIMPSTUnBinding, + EVIMPSTUnBindWaiting, + EVIMPSTBindFailureMode + }; + + enum TPresenceStatus + { + EVIMPSTPresenceNotSubscribed = 0, // default values: + EVIMPSTPresenceOnline, // subscribed + EVIMPSTPresenceOffline, // subscribed + EVIMPSTPresenceBlocked, // blocked + EVIMPSTPresencePending, // subscribed + EVIMPSTPresencePendingAuthorization, + EVIMPSTPresencePendingBlock, + EVIMPSTPresencePendingUnBlock, + EVIMPSTPresenceAutoSubscribe, + EVIMPSTPresenceSubscribeWaitingForContactCreation, + EVIMPSTPresenceSubscribeWhenContactCreated + }; + + enum TPresenceEvent + { + EVIMPSTNoEvent = 0, + EVIMPSTPresenceDataChanged, + EVIMPSTRemotePartyAcceptedPresenceRequest, + EVIMPSTRemotePartyBlockedYou, + EVIMPSTRemotePartyWantsToWatchYou, + EVIMPSTSubcribeListReceived + }; + + enum TIMEventType + { + EIMRequestCompleted = 0, + EIMNewMessage , + EIMUnreadMessage, + EIMUnreadChange, + EIMNewChat, + EIMChatStarted, + EIMChatClosed, + EIMAllChatClosed + }; + }; + +/** + * structure + * TVIMPSTSearchKeyData encapsulates the data required for search key + */ +struct TVIMPSTSearchKeyData + { + TVIMPSTEnums::TVIMPSTSearchKey iSearchKey; /* search key */ + TPtrC iSearchLabel; /* Search lable */ + TPtrC iSearchKeyData; /* isearchkeydata */ + }; + +enum TErrorType + { + EProtected = 1, + ECorrupted, + EErrExistInBlockList, + EErrExistInContactList + }; + +//enums +enum TXimpOperation + { + EVIMPSTXimpOperationNoOperation = 0, + EVIMPSTXimpOperationBind, + EVIMPSTXimpOperationUnBind, + EVIMPSTXimpOperationGetSubscribedList, + EVIMPSTXimpOperationGetBlockList, + EVIMPSTXimpOperationGetPresenceGrantList, + EVIMPSTXimpOperationGetWatcherList, + EVIMPSTXimpOperationUnsubcribeWatcherList, + EVIMPSTXimpOperationUnsubcribeGrantRequestList, + EVIMPSTXimpOperationSubcribeGrantRequestList, + EVIMPSTXimpOperationWithdrawPresenceGrant, + EVIMPSTXimpOperationGrantPresenceForPresentity, + EVIMPSTXimpOperationCancelPresenceBlockFromPresentity, + EVIMPSTXimpOperationBlockPresenceForPresentity, + EVIMPSTXimpOperationPublisOwnPresence, + EVIMPSTXimpOperationSubscribe, + EVIMPSTXimpOperationUnsubscribe, + + //Start of ContactMgmt Operations + EVIMPSTXimpOperationAddContact, + EVIMPSTXimpOperationDeleteContact, + //End of ContactMgmt Operations + + //Start of Search Feature Operations + EVIMPSTXimpOperationSearchContact, + EVIMPSTXimpOperationSubscribeSearchKeys + //End of Search Feature Operations + + + }; + +enum TVIMPSTFeatureSupported //multiples of 2 + { + EVIMPSTFeatureUnknown = 0, + EVIMPSTFeaturePublish = 0x1, + EVIMPSTFeatureFetch = 0x2, + EVIMPSTFeatureSubscribe = 0x4, + EVIMPSTFeatureUnsubscribe = 0x8, + EVIMPSTFeatureAddContact = 0x10, + EVIMPSTFeatureDeleteContact = 0x20, + EVIMPSTFeatureBlock = 0x40, + EVIMPSTFeatureUnBlock = 0x80, + EVIMPSTFeatureAvatar = 0x100, + EVIMPSTFeatureCreateGroup = 0x200, + EVIMPSTFeatureDeleteGroup = 0x400, + EVIMPSTFeatureInstantMessage = 0x800, + EVIMPSTFeatureSearch = 0x1000, + EVIMPSTFeatureLast = 0x2000 + }; + + +struct TStatusAndStatusText + { + TVIMPSTEnums::TOnlineStatus iStatus; + TBuf<50> iStatusText; + }; + +/** + * structure + * encapsulating data required for avatar, filename and mimetype + */ +struct TAvatarData + { + TVIMPSTEnums::TOnlineStatus iStatus; + TBuf<50> iStatusText; + TPtrC iFileName; + TPtrC8 iMimeType; + }; + +#endif // TVIMPSTENUMS_H +