1 /** |
|
2 * Copyright (c) 2010 Sasken Communication Technologies Ltd. |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of the "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html" |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Chandradeep Gandhi, Sasken Communication Technologies Ltd - |
|
11 * |
|
12 * Description: |
|
13 * Interface specification for plugins that implements social activity related services |
|
14 * |
|
15 */ |
|
16 #ifndef SMFACTIVITYFETCHERPLUGIN_H_ |
|
17 #define SMFACTIVITYFETCHERPLUGIN_H_ |
|
18 |
|
19 #include <smfpluginbase.h> |
|
20 #include <smfactivity.h> |
|
21 |
|
22 // Forward declaration |
|
23 class SmfPluginManagerUtil; |
|
24 |
|
25 /** |
|
26 * @ingroup smf_plugin_group |
|
27 * Interface specification for fetching social activity list for a user. |
|
28 * This class provides basic functionality to allow applications to obtain list of |
|
29 * activities like "marked as favourite", "commented on a picture" etc in a |
|
30 * social networking service. |
|
31 * |
|
32 * All of the functionality described here should be implemented by a service |
|
33 * specific plug-in. |
|
34 */ |
|
35 class SmfActivityFetcherPlugin : public SmfPluginBase |
|
36 { |
|
37 public: |
|
38 /** |
|
39 * Constructor |
|
40 * @param aUtil The SmfPluginManagerUtil instance. The plugins can |
|
41 * call the method getAuthKeys() of this class, with its pluginID to |
|
42 * get the OAuth keys, keys are returned only if this plugin is |
|
43 * authorised by Smf franework |
|
44 * |
|
45 */ |
|
46 SmfActivityFetcherPlugin( SmfPluginManagerUtil* aUtil); |
|
47 |
|
48 /** |
|
49 * Destructor |
|
50 */ |
|
51 ~SmfActivityFetcherPlugin(); |
|
52 |
|
53 /** |
|
54 * Method to get the list of self activities, e.g. shown in own wall |
|
55 * @param aRequest [out] The request data plugin generated (to be sent to network) |
|
56 * @param aPageNum[in] The page to be extracted |
|
57 * @param aItemsPerPage[in] Number of items per page |
|
58 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
|
59 */ |
|
60 virtual SmfPluginError selfActivities( SmfPluginRequestData &aRequest, |
|
61 const int aPageNum = SMF_FIRST_PAGE, |
|
62 const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0; |
|
63 |
|
64 /** |
|
65 * Method to get the list of activities for other, e.g. shown in a friends wall |
|
66 * @param aRequest [out] The request data plugin generated (to be sent to network) |
|
67 * @param aContact [in] The contact containing the URI, name or id of the user |
|
68 * @param aPageNum[in] The page to be extracted |
|
69 * @param aItemsPerPage[in] Number of items per page |
|
70 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
|
71 */ |
|
72 virtual SmfPluginError friendsActivities( SmfPluginRequestData &aRequest, |
|
73 const SmfContact &aContact, |
|
74 const int aPageNum = SMF_FIRST_PAGE, |
|
75 const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0; |
|
76 |
|
77 /** |
|
78 * Method to get list of self activities filtered by activity type, e.g. only photo updates in own wall |
|
79 * @param aRequest [out] The request data plugin generated (to be sent to network) |
|
80 * @param aFilters [in] The list of activity types to be included in result |
|
81 * @param aPageNum[in] The page to be extracted |
|
82 * @param aItemsPerPage[in] Number of items per page |
|
83 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
|
84 */ |
|
85 virtual SmfPluginError filtered( SmfPluginRequestData &aRequest, |
|
86 QList<SmfActivityObjectType> &aFilters, |
|
87 const int aPageNum = SMF_FIRST_PAGE, |
|
88 const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0; |
|
89 |
|
90 }; |
|
91 |
|
92 Q_DECLARE_INTERFACE( SmfActivityFetcherPlugin, "org.symbian.smf.plugin.activity.fetcher/v0.2" ); |
|
93 |
|
94 #endif /* SMFACTIVITYFETCHERPLUGIN_H_ */ |
|