--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfglobal.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,360 @@
+/**
+ * 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:
+ * SMF wide global const and macros, to be shared among SMF components
+ * and SMF clients
+ *
+ */
+
+#ifndef SMFGLOBAL_H
+#define SMFGLOBAL_H
+
+#include <qglobal.h>
+#include <QBuffer>
+#include <QNetworkRequest>
+#include <QNetworkAccessManager>
+
+#ifdef Q_OS_SYMBIAN
+class SmfServerSymbianSession;
+#else
+class SmfServerQtSession;
+#endif
+
+/**
+ * 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;
+
+
+/**
+ * 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,
+ SmfPluginErrServiceNotSupported,
+ SmfPluginErrInvalidArguments,
+ SmfPluginErrRequestNotCreated,
+ SmfPluginErrParsingFailed,
+ SmfPluginErrNetworkError,
+ SmfPluginErrCancelComplete
+ };
+
+
+/**
+ * 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 SmfRequestTypeID
+ {
+ SmfGetService,
+ SmfContactGetFriends,
+ SmfContactGetFollowers,
+ SmfContactSearch,
+ SmfContactSearchNear,
+ SmfContactGetGroups,
+ SmfContactSearchInGroup,
+ SmfContactCustomRequest,
+ SmfContactRetrievePosts,
+ SmfContactPost,
+ SmfContactUpdatePost,
+ SmfContactPostDirected,
+ SmfContactCommentOnAPost,
+ SmfContactPostAppearence,
+ SmfContactSharePost,
+ SmfContactPostCustomRequest,
+ SmfPostGetMaxCharsInPost,
+ SmfPostGetMaxItems,
+ SmfPostGetSupportedFormats,
+ SmfPostGetAppearanceSupport,
+ SmfMusicGetLyrics,
+ SmfMusicGetSubtitle,
+ SmfMusicLyricsCustomRequest,
+ SmfMusicGetEventsOnLoc,
+ SmfMusicGetVenueOnLoc,
+ //SmfMusicGetEventsOnVenue, - removed
+ SmfMusicPostEvents,
+ SmfMusicEventsCustomRequest,
+ SmfMusicGetRecommendations,
+ SmfMusicGetTracks,
+ SmfMusicGetTrackInfo,
+ SmfMusicGetStores,
+ SmfMusicSearchCustomRequest,
+ SmfMusicGetUserInfo,
+ SmfMusicSearchUser,
+ SmfMusicPostCurrentPlaying,
+ SmfMusicPostRating,
+ SmfMusicPostComment,
+ SmfMusicServiceCustomRequest,
+ SmfMusicGetPlaylists,
+ SmfMusicGetPlaylistsOfUser,
+ SmfMusicAddToPlaylist,
+ SmfMusicPostCurrentPlayingPlaylist,
+ SmfMusicPlaylistCustomRequest,
+ SmfPictureGetAlbums,
+ SmfPictureGetPictures,
+ SmfPictureDescription,
+ SmfPictureUpload,
+ SmfPictureMultiUpload,
+ SmfPicturePostComment,
+ SmfPictureCustomRequest,
+ SmfActivityFriendsActivities,
+ SmfActivityFiltered,
+ SmfActivitySelfActivity,
+ SmfActivityCustomRequest,
+ SmfRelationCreate,//SmfRelationMngr start
+ SmfRelationAssociate,
+ SmfRelationRemove,
+ SmfRelationSearchById,
+ SmfRelationSearchByContact,
+ SmfRelationCount,
+ SmfRelationGet,
+ SmfRelationGetAll,
+ SmfRelationGetAllRelations,
+ SmfRelationDeleteRelation//SmfRelationMngr end
+
+ };
+
+
+/**
+ * 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,
+ SmfTransportOpUnsupportedContentEncodingFormat,
+ SmfTransportOpGzipError
+ };
+
+
+/**
+ * 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
+ */
+ SmfRequestTypeID 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;
+ };
+
+
+struct SmfClientAuthID
+ {
+#ifdef Q_OS_SYMBIAN
+ TSecureId pid;
+ SmfServerSymbianSession* session;
+#else
+ QString pid;
+ SmfServerQtSession* session;
+#endif
+ };
+
+/**
+ * Smf wide errors
+ */
+enum SmfError
+ {
+ SmfNoError = 0,
+ SmfInvalidInterface, //1
+ SmfNoAuthorizedPlugin, //2
+ SmfClientAuthFailed, //3
+ SmfPMPluginNotFound, //4
+ SmfPMPluginNotLoaded, //5
+ SmfPMPluginLoadError, //6
+ SmfPMPluginNotAuthorised, //7
+ SmfPMPluginRequestCreationFailed, //8
+ SmfPMPluginUnknownPluginService, //9
+ SmfPMPluginUnknownHttpService, //10
+ SmfPMPluginRequestSendingFailed, //11
+ SmfPMPluginSOPCheckFailed, //12
+ SmfPMPluginSendRequestAgain, //13
+ SmfPluginErrorTooManyRequest, //14
+ SmfPluginErrorRequestQuotaExceeded, //15
+ SmfPluginErrorInvalidRequest, //16
+ SmfPluginErrorUserNotLoggedIn, //17
+ SmfPluginErrorAuthenticationExpired, //18
+ SmfPluginErrorPermissionDenied, //19
+ SmfPluginErrorInvalidApplication, //20
+ SmfPluginErrorServiceUnavailable, //21
+ SmfPluginErrorServiceTemporaryUnavailable, //22
+ SmfPluginErrorFormatNotSupported, //23
+ SmfPluginErrorDataSizeExceeded , //24
+ SmfPluginErrorInvalidArguments, //25
+ SmfPluginErrorParsingFailed, //26
+ SmfPluginErrorNetworkError, //27
+ SmfPluginErrorCancelComplete, //28
+ SmfTMConnectionRefusedError, //29
+ SmfTMRemoteHostClosedError, //30
+ SmfTMHostNotFoundError, //31
+ SmfTMTimeoutError, //32
+ SmfTMOperationCanceledError, //33
+ SmfTMSslHandshakeFailedError, //34
+ SmfTMProxyConnectionRefusedError, //35
+ SmfTMProxyConnectionClosedError, //36
+ SmfTMProxyNotFoundError, //37
+ SmfTMProxyTimeoutError, //38
+ SmfTMProxyAuthenticationRequiredError, //39
+ SmfTMContentAccessDenied, //40
+ SmfTMContentOperationNotPermittedError, //41
+ SmfTMContentNotFoundError, //42
+ SmfTMAuthenticationRequiredError, //43
+ SmfTMContentReSendError, //44
+ SmfTMProtocolUnknownError, //45
+ SmfTMProtocolInvalidOperationError, //46
+ SmfTMUnknownNetworkError, //47
+ SmfTMUnknownProxyError, //48
+ SmfTMUnknownContentError, //49
+ SmfTMProtocolFailure, //50
+ SmfTMUnknownError, //51
+ SmfTMIAPChanged, //52
+ SmfTMCancelled, //53
+ SmfTMUnsupportedContentEncodingFormat, //54
+ SmfTMInitNetworkNotAvailable , //55
+ SmfTMInitRoamingNetworkUsageNotEnabled, //56
+ SmfTMGzipMemoryError, //57
+ SmfTMGzipStreamError, //58
+ SmfTMGzipDataError, //59
+ SmfMemoryAllocationFailure, //60
+ SmfDbOpeningError, //61
+ SmfDbQueryExecutonError, //61
+ SmfDbContactNotExist, //63
+ SmfErrItemNotInRelation, //64
+ SmfErrInvalidRelation, //65
+ SmfUnknownError //66
+
+ };
+
+
+/**
+ * Smf wide panics
+ */
+enum SmfPanic
+ {
+ SmfRequestPending //to allow one outstanding request per session
+ };
+
+//interface names
+const QString contactFetcherInterface("org.symbian.smf.plugin.contact.fetcher\0.2");
+const QString postProviderInterface("org.symbian.smf.plugin.contact.posts\0.2");
+const QString galleryInterface("org.symbian.smf.plugin.gallery\0.2");
+const QString musicServiceInterface("org.symbian.smf.plugin.music.service\0.2");
+const QString musicSearchInterface("org.symbian.smf.client.music.search\0.2");
+const QString playlistServiceInterface("org.symbian.smf.plugin.music.playlist\0.2");
+const QString musicEventServiceInterface("org.symbian.smf.plugin.music.events\0.2");
+const QString lyricsServiceInterface("org.symbian.smf.plugin.music.lyrics\0.2");
+const QString activityFetcherInterface("org.symbian.smf.plugin.activity.fetcher\0.2");
+
+#endif /* SMFGLOBAL_H_ */