diff -r 86af6c333601 -r 0446eb7b28aa smf/inc/common/smfglobal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/smf/inc/common/smfglobal.h Thu Apr 15 15:35:36 2010 +0530 @@ -0,0 +1,284 @@ +/** + * Copyright (c) 2010 Sasken Communication Technologies Ltd. + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the "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: + * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution + * + * Contributors: + * Manasij Roy, Nalina Hariharan + * + * Description: + * The smfglobal.h files contains all global data common to Smf framework + * + */ + +#ifndef SMFGLOBAL_H_ +#define SMFGLOBAL_H_ + +#include +#include +#include + +/** + * Exact definition to be decided later + */ +#define SMF_SERVICE_NAME(INTERFACE,INTERFACENAME) + +/** + * Indicates first page for a web query + */ +const int SMF_FIRST_PAGE=0; + +/** + * Default value for per page item for web queries + */ +const int SMF_ITEMS_PER_PAGE=10; + + +/** + * Enum declaration for Network status information + */ +enum SmfNetworkStatus + { + SmfNetworkConnectedHome = 0, + SmfNetworkConnectedRoaming, // value = 1 + SmfNetworkStateNotKnown, // value = 2 + SmfNetworkConnected, // value = 3 + SmfNetworkNotConnected // value = 4 + }; + +/** + * Enum declaration for result of transport initialize operation + */ +enum SmfTransportInitializeResult + { + SmfTransportInitNetworkNotAvailable = 0, + SmfTransportInitRoamingNetworkUsageNotEnabled, // value = 1 + SmfTransportInitNoError // value = 2 + }; + +/** + * The enumeration used to indicate result of transport to the plugins + */ +enum SmfTransportResult + { + SmfTransportOpNoError = 0, + SmfTransportOpConnectionRefusedError, + SmfTransportOpRemoteHostClosedError, + SmfTransportOpHostNotFoundError, + SmfTransportOpTimeoutError, + SmfTransportOpOperationCanceledError, + SmfTransportOpSslHandshakeFailedError, + SmfTransportOpProxyConnectionRefusedError, + SmfTransportOpProxyConnectionClosedError, + SmfTransportOpProxyNotFoundError, + SmfTransportOpProxyTimeoutError, + SmfTransportOpProxyAuthenticationRequiredError, + SmfTransportOpContentAccessDenied, + SmfTransportOpContentOperationNotPermittedError, + SmfTransportOpContentNotFoundError, + SmfTransportOpAuthenticationRequiredError, + SmfTransportOpContentReSendError, + SmfTransportOpProtocolUnknownError, + SmfTransportOpProtocolInvalidOperationError, + SmfTransportOpUnknownNetworkError, + SmfTransportOpUnknownProxyError, + SmfTransportOpUnknownContentError, + SmfTransportOpProtocolFailure, + SmfTransportOpUnknownError, + SmfTransportOpIAPChanged, + SmfTransportOpCancelled + }; + +/** + * The enumeration used to indicate result of plugin manager operations + */ +enum SmfPluginManagerResult + { + SmfPluginNoError = 0, + SmfPluginNotFound, + SmfPluginNotLoaded, + SmfPluginLoaded, + SmfPluginLoadError, + SmfPluginAuthorised, + SmfPluginNotAuthorised, + SmfPluginRequestCreated, + SmfPluginRequestCreationFailed, + SmfPluginUnknownService, + SmfPluginRequestSendingFailed, + SmfPluginSOPCheckFailed, + SmfPluginServiceError, + SmfPluginResponseParsed, + SmfPluginResponseParseFailure, + SmfPluginSendRequestAgain, + SmfPluginUnknownError + }; + + +/** + * The enumeration used to denote errors reported by plugin + * Smf can't continue without handling these errors + */ +enum SmfPluginError + { + SmfPluginErrNone = 0, + SmfPluginErrTooManyRequest, + SmfPluginErrRequestQuotaExceeded, + SmfPluginErrInvalidRequest, + SmfPluginErrUserNotLoggedIn, + SmfPluginErrAuthenticationExpired, + SmfPluginErrPermissionDenied, + SmfPluginErrInvalidApplication, + SmfPluginErrServiceUnavailable, + SmfPluginErrServiceTemporaryUnavailable, + SmfPluginErrFormatNotSupported, + SmfPluginErrDataSizeExceeded + }; + +/** + * The enumeration used to track the plugin methods return type + */ +enum SmfPluginRetType + { + SmfSendRequestAgain = 0, + SmfRequestComplete, + SmfRequestError + }; + + +/** + * The enumeration used to indicate the type of network operation done + */ +enum SmfRequestOperation + { + SmfContactGetFriends = 0, + SmfContactGetFollowers, + SmfContactSearch, + SmfContactSearchNear, + SmfContactGetGroups, + SmfContactSearchInGroup, + SmfContactRetrievePosts, + SmfContactPost, + SmfContactUpdatePost, + SmfContactPostDirected, + SmfContactCommentOnAPost, + SmfContactPostAppearence, + SmfContactSharePost, + SmfMusicGetLyrics, + SmfMusicGetSubtitle, + SmfMusicGetEventsOnLoc, + SmfMusicGetVenueOnLoc, + SmfMusicGetEventsOnVenue, + SmfMusicPostEvents, + SmfMusicGetRecommendations, + SmfMusicGetTracks, + SmfMusicGetTrackInfo, + SmfMusicGetStores, + SmfMusicPostCurrentPlaying, + SmfMusicGetUserInfo, + SmfMusicSearchUser, + SmfMusicGetPlaylists, + SmfMusicGetPlaylistsOfUser, + SmfMusicAddToPlaylist, + SmfMusicPostCurrentPlayingPlaylist, + SmfPictureGetPictures, + SmfPictureDescription, + SmfPictureUpload, + SmfPictureMultiUpload, + SmfPicturePostComment + + }; + + +/** + * The structure used to hold the request created by the plugins + */ +struct SmfPluginRequestData + { + /** + * Indicates the type of operation performed, like getting Friends + * list, upload image etc + */ + SmfRequestOperation iRequestType; + + /** + * The QNetworkRequest that has to be filled up by the plugins + */ + QNetworkRequest iNetworkRequest; + + /** + * The data to be posted in case of HTTP POST operation + */ + QBuffer *iPostData; + + /** + * The type of HTTP transaction, like GET, POST etc + */ + QNetworkAccessManager::Operation iHttpOperationType; + + }; + +/** + * The structure used to hold the request created by the plugins + */ +struct SmfResultPage + { + /** + * The total number of items + */ + uint iTotalItems; + + /** + * The number of items per page + */ + uint iItemsPerPage; + + /** + * The total number of pages + */ + uint iTotalPages; + + /** + * The current fetched page number + */ + uint iPageNum; + }; + +/** + * The structure used to track the data usage of each plugins + */ +struct SmfPluginDataUsage + { + /** + * Application that called the plugin + */ + QString iAppName; + + /** + * Interface implemented by the plugin + */ + QString iInterfaceName; + + /** + * The service provider + */ + QString iServiceProviderName; + + /** + * number of bytes sent for this plugin + */ + uint iBytesSent; + + /** + * number of bytes received for this plugin + */ + uint iBytesReceived; + + }; + +#endif /* SMFGLOBAL_H_ */