8 * |
8 * |
9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution |
10 * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * Manasij Roy, Nalina Hariharan |
13 * Nalina Hariharan,Satish Kanteti, Rajat Roy |
14 * |
14 * |
15 * Description: |
15 * Description: |
16 * Intro Page |
16 * Intro Page |
17 * |
17 * |
18 * @ref smf_high_level_design |
18 * @ref smf_high_level_design |
19 */ |
19 */ |
20 |
20 |
21 /** |
21 /** |
22 * @mainpage SMF (Social Mobile Framework Interfaces) |
22 * @mainpage SMF (Social Mobile Framework Interfaces) |
23 * @defgroup smf_high_level_design SMF high level design |
23 * @defgroup smf_high_level_design SMF Interfaces and Usage |
24 * |
24 * |
25 * Social Mobile Framework is a application level framework which allows Qt Applications |
25 * Social Mobile Framework is a application level framework which allows Qt Applications |
26 * use the common web APIs to perform social web activities. |
26 * use the common web APIs to perform social web activities. |
27 * |
27 * |
28 * Product name is "SMF" |
28 * Product name is "SMF" |
29 * |
29 * |
30 * For details please refer to http://developer.symbian.org/wiki/index.php/Social_Mobile_Framework |
30 * For details please refer to http://developer.symbian.org/wiki/index.php/Social_Mobile_Framework |
31 * |
31 * |
32 * @section smf_interfaces SMF Interfaces |
32 * @section smf_interfaces SMF Interfaces |
33 * |
33 * |
34 * There are two sets of interfaces - |
34 * Native applications can use SMF, via Client APIs. |
|
35 * Service Providers can provide smf plugins, via Plugin APIs. |
|
36 * Both would use Common APIs for common data classes |
|
37 * Service Providers can optionaliy use Credential Manager APIs |
|
38 * |
|
39 * Here is the list of public interfaces ( exported to /epoc32/include ) - |
35 * @subsection smf_client_interfaces Client Interfaces |
40 * @subsection smf_client_interfaces Client Interfaces |
36 * - Client Applications (e.g. Media Player, Contacts, Game) uses these APIs to access SMF. see @ref smf_client_group |
41 * - Client Applications (e.g. Media Player, Contacts, Game) uses these APIs to access SMF. see @ref smf_client_group |
37 * |
42 * |
38 * @subsection smf_plugin_interfaces Plugin Interfaces |
43 * @subsection smf_plugin_interfaces Plugin Interfaces |
39 * - Service Providers (e.g. Facebook, Flickr, last.fm) implements these APIs to provide service to SMF - see @ref smf_plugin_group |
44 * - Service Providers (e.g. Facebook, Flickr, last.fm) implements these APIs to provide service to SMF - see @ref smf_plugin_group |
40 * |
45 * |
41 * Currently, @ref smf_client_interfaces and @ref smf_plugin_interfaces are defined for remote contacts, remote |
46 * @subsection smf_common_interfaces Common Interfaces |
42 * image gallery and remote music services. There are common classes defined for holding data accross clients |
47 * - Both plugins and smfclient uses these for representing data - see @ref smf_common_group |
43 * and plugins, present in inc\common, see - @ref smf_common_group |
48 * |
|
49 * @subsection smf_credmgr_interfaces CredMgr Interfaces |
|
50 * - Credential Manager provides APIs for digital signing, storing and retrieving keys, etc - see @ref smf_credmgr_group |
|
51 * \ep |
44 * |
52 * |
45 * |
53 * |
46 * @section smf_client_usage Client Usage Example |
54 * |
47 * - This shows how to use the SMF client APIs in applications, e.g. Client can define suitable Models using lists returned by these APIs |
55 * |
48 * - how to fetch a list of contacts from a remote server e.g. Facebook, see @ref MyApplication::displayFriends() |
56 * @section smf_client_usage Client Usage Example |
49 * - how to get a @ref QContact from a SmfContacts see @ref MyApplication::showlist() |
57 * - / example / DemoGUI / HomeView.cpp shows how to use the SMF client APIs in applications, e.g. Client can define suitable Models using lists returned by these APIs. |
50 * - how to get a list of images from a remote gallery e.g. Flickr.com, see @ref MyApplication::displayGallery() |
58 * - how to fetch a list of contacts from a remote server e.g. Facebook, see @ref HomeView::getFriends() |
51 * - how to post privately to a contact see @ref MyApplication::postUpdate() |
59 * - how to get a list of posts from a remote server e.g. Facebook, see @ref HomeView::getPosts() |
52 * - how to tell others about the music you are currently listen to, see @ref MyApplication::updateCurrentPlaying() |
60 * - how to get a list of images from a remote gallery e.g. Flickr.com, see @ref HomeView::getAlbums() |
53 * - how to list all the activities that has happened recently, see @ref MyApplication::getActivities() and @ref MyApplication::showActivities() |
61 * - how to list all the activities that has happened recently, see @ref HomeView::getActivities() |
54 * |
62 * |
55 * @section smf_sample_plugin Sample Plugin From Service provider |
63 * @section smf_sample_plugin Sample Plugin From Service provider |
56 * - This shows how to write a plugin for extending SMF service. Authentication Application also needs to be provided for these plugins. |
64 * - This shows how to write a plugin for extending SMF service. |
57 * - how to create request to be sent to a remote server e.g. Flickr.com, see @ref SamplePlugin::pictures() |
65 * - how to create request to be sent to a remote server for fetching contacts e.g.Facebook.com, see @ref FBContactFetcherPlugin::friends |
58 * - how to implement posting of comment on a picture to Flickr.com, @ref SamplePlugin::postComment() |
66 * - how to implement the fetching of posts or comment, @ref FBPostProviderPlugin::getPosts() |
59 * - how to parse the response that arrived from Flickr.com, see @ref SamplePlugin::responseAvailable() |
67 * - how to parse the response that arrived from Facebook.com for fetching activities, see @ref FBActivityFetcherPlugin::responseAvailable() |
60 * - how to use JSON parsing from SmfPluginUtil, see @ref SamplePlugin::responseAvailable() |
68 * - how to use JSON parsing from SmfPluginUtil, see @ref FBPostProviderPlugin::responseAvailable() |
|
69 * - Authentication Application also needs to be provided for these plugins. |
61 * |
70 * |
62 * @section smf_custom_api Custom API in SMF |
71 * @section smf_custom_api Custom API in SMF |
63 * - SMF strives to provide service API for generic "common" social operations. However this doesn't mean that developers have to |
72 * - SMF strives to provide service API for generic "common" social operations. However this doesn't mean that developers have to |
64 * use other propriatery APIs to access service specific "differentiating" features. Service Providers can provide plugins which support |
73 * use other propriatery APIs to access service specific "differentiating" features. Service Providers can provide plugins which support |
65 * APIs like @ref SmfGalleryPlugin::customRequest(). A separate library would also be provided by service providers to help SMF clients use this custom |
74 * APIs like @ref SmfGalleryPlugin::customRequest(). A separate library would also be provided by service providers to help SMF clients |
66 * API like @ref SmfGallery::customRequest(). |
75 * use this custom API |
67 * |
76 * |
68 * |
77 * |
69 * |
78 * |
70 * @section smf_dependency Dependency |
79 * @section smf_dependency Dependency |
71 * - SMF uses QtMobility for mainly contacts information, see QtMobility project. |
80 * - SMF uses Qt 4.6.2 on Symbian^3 ( Nokia_Symbian3_SDK_v0.8 to be specific ) |
|
81 * - SMF uses QtMobility 1.0 for mainly contacts information, see QtMobility project. |
72 * - SMF uses QJson as utility library, courtesy Flavio Castelli , see http://gitorious.org/qjson/qjson |
82 * - SMF uses QJson as utility library, courtesy Flavio Castelli , see http://gitorious.org/qjson/qjson |
73 * |
83 * |
74 * @section smf_notes Notes: |
84 * @section smf_notes Notes: |
75 * - SMF defines the social activities with inspiration from http://activitystrea.ms/ |
85 * - SMF defines the social activities with inspiration from http://activitystrea.ms/ |
76 * - Other such open standards would soon find their usage in SMF, one such candidate is http://xspf.org/ |
86 * - Other such open standards would soon find their usage in SMF, one such candidate is http://xspf.org/ |