New project for Garage Client Services
[meego-garage:garage-client-services.git] / src / testplus.c
1
2
3 #include "stdio.h"
4 #include "stdlib.h"
5 #include "string.h"
6 #include "client.h"
7 #include "client_dt.h"
8
9 int main (int argv, char **argc)
10 {
11    printf ("Hey dude!\n");
12
13    if (init_client() == CLST_SUCCESS) {
14       printf ("init_client success\n");
15    } else {
16       printf ("init_client failed\n");
17    }
18    int ret = login("superman@moblin.org", "1234");
19    if (ret == CLST_SUCCESS) {
20       printf ("login success!\n");
21    } else {
22       printf ("login failed\n");
23    }
24    logout();
25
26    is_authenticated();
27    is_identified();
28    is_connected();
29    dev_attach();
30    dev_detach();
31
32    //simple exercise of some APIs
33    int numCats;
34    cat_t *root = get_catalog(&numCats);
35    printf ("There are %d cats. Cat 1 name:%s\n", numCats, root->name);
36    printf ("The root cat has %d apps.\n", root->app_count);
37
38    printf ("The total num apps: %d\n", get_app_count());
39    int numApps;
40    app_t **apps = get_apps_by_cat(root, &numApps);
41    printf ("The root cat has %d apps. App 1 name:%s\n", numApps, apps[0]->name);
42
43    /*   //applicaiton 1
44    app_ext_t *appext;
45    get_app_ext(apps[1], &appext);
46    printf ("The long description for app1 (%s) is:\n%s\n",
47            apps[1]->name, appext->l_desc);
48
49    // User Profile
50    user_t *up;
51    get_profile(&up);
52    printf ("The user's name is: %s %s. Born: %2d-%2d-%4d\n", 
53            up->fname, up->lname, up->bmonth, up->bday, up->byear);
54    printf ("***setting user email to bob.spencer@intel.com\n***");
55    free (up->email);
56    int len = strlen("bob.spencer@intel.com");
57    up->email = malloc ((len+1) *sizeof(char));
58    strcpy (up->email, "bob.spencer@intel.com");
59    set_profile(up);
60    get_profile(&up);
61    printf ("The user's new email is: %s\n", up->email);
62
63    */
64    //searching apps
65    app_t **appsByState;
66    appsByState = get_apps_by_state(ASTAT_LISTED, &numApps);
67    printf ("There are %d apps with ASTAT_LISTED state\n", numApps);
68    if (numApps > 0) {
69       printf ("App #1:%s\n",appsByState[0]->name);
70    }
71
72    //FLG_FAV, FLG_HOT, FLG_PICK, FLG_FEAT
73    //SORD_NEW, SORD_DNL, SORD_RAT, or SORD_NAM
74
75    app_t **appsByCrit = get_apps_by_crit(FLG_FAV, SORD_NAM, &numApps);
76    printf ("There are %d apps with (FLG_FAV)\n", numApps);
77    if (numApps > 0) {
78       printf ("App #1:%s\n", appsByCrit[0]->name);
79    }
80
81    /*
82    //int numWords = 2;
83    //char *wordsToSearch[2] = { "spell", "file"};
84    char *wordsToSearch[1];
85    wordsToSearch[0] = "goo file";
86    app_t **appsByText = get_apps_by_text(wordsToSearch, &numApps);
87    printf ("There are %d apps with 'goo' OR 'file' in them. App #1:%s\n",
88            numApps, appsByText[0]->name);
89
90    //All calls that take app
91    can_buy(apps[0]);
92    app_buy(apps[0]);
93    is_paid(apps[0]);
94    app_launch(apps[0]);
95    app_cancel(apps[0], "No reason");
96    app_remove(apps[0]);
97
98    app_update(apps[0]);
99    can_review(apps[0]);
100    can_launch(apps[0]);
101    can_cancel(apps[0]);
102    can_rate(apps[0]);
103    can_mark_fav_app(apps[0]);
104    can_download(apps[0]);
105    can_update(apps[0]);
106    is_fav_app(apps[0]);
107    is_local(apps[0]);
108    app_ban(apps[0]);
109    app_unban(apps[0]);
110
111    //Rating tests
112    //app_rate(app_t *app, int rating, char *rev_tit, char *rev_txt);
113
114    printf ("App 1 (%s) num rats:%d\n", apps[0]->name, apps[0]->rat_count);
115    printf ("App 2 (%s) num rats:%d\n", apps[1]->name, apps[1]->rat_count);
116    printf ("App 3 (%s) num rats:%d\n", apps[2]->name, apps[2]->rat_count);
117    int numRats;
118    rat_t **rats = get_rates(apps[0], &numRats);
119    int i;
120    for (i=0; i<numRats; i++) {
121       printf ("Rating %d: %f\n", i+1, rats[i]->rating);
122       printf ("Rating %d Title: %s\n", i+1, rats[i]->rev_tit);
123       printf ("Rating %d Text: %s\n", i+1, rats[i]->rev_txt);
124    }
125    */
126    int cnt;
127    app_feat_t **features = get_app_feat(&cnt);
128    printf ("There are %d features\n", cnt);
129    printf ("Feature 1 id: %d\n", features[0]->id);
130    printf ("Feature 2 url: %s\n", features[1]->url);
131    printf ("Feature 3 image path: %s\n", features[2]->banner->path);
132    printf ("Feature 4 app name: %s\n", features[3]->app->name);
133    printf ("Feature 5 app name: %s\n", features[4]->app->name);
134    /*
135    int cntTxn;
136    txn_t **txns = get_txn_history(&cntTxn);
137
138    printf ("There are %d transactions\n", cntTxn);
139    printf ("Feature 1 machine_id: %s\n", txns[0]->machine_id);
140    printf ("Feature 1 appname: %s\n", txns[0]->app->name);
141    printf ("Feature 2 price: %f\n", txns[1]->app->price);
142    printf ("Feature 3 app publisher: %s\n", txns[2]->app->extra->pub_name);
143    */
144    printf ("Freeing catalog()!\n");
145    free_catalog();
146
147    /*
148    //callbacks
149    //set_img_dnld_callback(void (*img_dnld_callback)
150    //                     (app_t *app, img_t *img, img_type_t type)
151    //set_app_buy_progress_callback(void (*buy_progress_callback)
152    //                     (app_t *, const char *, float pcnt)) {
153    //set_app_buy_status_callback(void (*buy_status_callback)
154    //                   (app_t *, int status)) {
155    //set_app_buy_approval_callback(int (*buy_approval_callback)
156    //                     (app_t *, const char *)) {
157    //set_app_update_progress_callback(void (*app_update_progress_callback)
158    //                        (app_t *app, const char *text, float pcnt))
159    //set_app_update_status_callback(void (*app_update_status_callback)
160    //                      (app_t *app, int status))
161    //set_app_reimburse_callback(void (*reimburse_callback)
162    //                  (app_t *, const char *, float pcnt)) {
163    //set_app_reimburse_approval_callback(int (*reimburse_approval_callback)
164    //                           (app_t *, const char *)) {
165
166
167    is_fav_cat(cat_t *cat);
168    change_password(char *oldpswd, char *newpswd);
169    reset_password(char *email);
170    //   set_state_change_callback(void (*state_change_callback)
171    //                (app_t *app, app_stat_t appStat));
172    set_fav_app(app_t *app, int fav);
173    get_cats_fav(int *cat_cnt);
174    set_fav_cat(cat_t *cat, int fav);
175    */
176
177    return 0;
178 }
179
180 /*
181 int init_client(); 
182 int free_client(); 
183 int login(char *email, char *pswd);
184 int logout();
185 int change_password(char *oldpswd, char *newpswd);
186 int reset_password(char *email);
187 int is_authenticated();
188 int is_identified();
189 int is_connected();
190 int dev_attach();
191 int dev_detach();
192
193 //user profile
194 int get_profile(user_t **profile);
195 int set_profile(user_t *);
196
197 //categories
198 cat_t *get_catalog(int *cat_cnt);
199 int free_catalog();
200
201 //app/cat
202 app_t **get_apps_by_cat(cat_t *cat, int *app_cnt);
203
204 //callbacks
205 int set_img_dnld_callback(void (*)(app_t *app, img_t *img, img_type_t type));
206 int set_feat_dnld_callback(void (*)(app_feat_t *feat, img_t *img, img_type_t type));
207 int set_app_buy_progress_callback(void (*)(app_t *, const char *, float pcnt));
208 int set_app_buy_status_callback(void (*)(app_t *, int status));
209 int set_app_buy_approval_callback(int (*)(app_t *, const char *));
210 int set_app_update_progress_callback(void (*)(app_t *, const char *, float pcnt));
211 int set_app_update_status_callback(void (*)(app_t *, int status));
212 int set_app_reimburse_callback(void (*)(app_t *, const char *, float pcnt));
213 int set_app_reimburse_approval_callback(int (*)(app_t *, const char *));
214 int set_state_change_callback(void (*)(app_t *, app_stat_t));
215
216 //apps
217 int get_app_count(); 
218 int can_buy(app_t *app);
219 int is_paid(app_t *);
220 int app_update(app_t *app);
221 int app_reimburse(app_t *app);
222 int app_launch(app_t *);
223 int app_remove(app_t *);
224 int can_review(app_t *app);
225 int can_launch(app_t *app);
226 int can_reimburse(app_t *app);
227 int can_rate(app_t *app);
228 int can_mark_fav_app(app_t *app);
229 int can_download(app_t *app);
230 int can_update(app_t *app); 
231 int is_fav_app(app_t *app);
232 int is_local(app_t *app);
233 int app_ban(app_t *app);
234 int app_unban(app_t *app);
235 */
236
237 /*
238 #define HAS_APP_LIST(cat)   cat->app_list
239 #define HAS_APP_EXT(app)    app->extra
240 app_ext_t *get_app_ext(app_t *app);
241
242 app_feat_t **get_app_feat(int *cnt);
243 int app_rate(app_t *app, int rating, char *rev_tit, char *rev_txt);
244 rat_t **get_rates(app_t *app, int *rat_cnt);
245 int is_fav_cat(cat_t *cat);
246 app_t **get_apps_by_state(app_stat_t state, int *app_cnt);
247 int set_fav_app(app_t *app, int fav);
248 cat_t **get_cats_fav(int *cat_cnt);
249 int set_fav_cat(cat_t *cat, int fav);
250 char* get_app_eula(char* appGuid);
251 */