libidav/jmapsession.c

branch
dav-2
changeset 927
0bcf3d69b37a
parent 925
61a231a8d8f5
equal deleted inserted replaced
926:8470d5aac30e 927:0bcf3d69b37a
76 CxJsonValue *apiUrl = cxJsonObjGet(sessionValue, "apiUrl"); 76 CxJsonValue *apiUrl = cxJsonObjGet(sessionValue, "apiUrl");
77 CxJsonValue *downloadUrl = cxJsonObjGet(sessionValue, "downloadUrl"); 77 CxJsonValue *downloadUrl = cxJsonObjGet(sessionValue, "downloadUrl");
78 CxJsonValue *uploadUrl = cxJsonObjGet(sessionValue, "uploadUrl"); 78 CxJsonValue *uploadUrl = cxJsonObjGet(sessionValue, "uploadUrl");
79 79
80 if(cxJsonIsString(username)) { 80 if(cxJsonIsString(username)) {
81 sn->username = cx_strdup_a(mp->allocator, username->string.ptr).ptr; 81 sn->username = cx_strdup_a(mp->allocator, username->string).ptr;
82 } 82 }
83 if(cxJsonIsString(apiUrl)) { 83 if(cxJsonIsString(apiUrl)) {
84 sn->apiUrl = cx_strdup_a(mp->allocator, apiUrl->string.ptr).ptr; 84 sn->apiUrl = cx_strdup_a(mp->allocator, apiUrl->string).ptr;
85 } 85 }
86 if(cxJsonIsString(downloadUrl)) { 86 if(cxJsonIsString(downloadUrl)) {
87 sn->downloadUrl = cx_strdup_a(mp->allocator, downloadUrl->string.ptr).ptr; 87 sn->downloadUrl = cx_strdup_a(mp->allocator, downloadUrl->string).ptr;
88 } 88 }
89 if(cxJsonIsString(uploadUrl)) { 89 if(cxJsonIsString(uploadUrl)) {
90 sn->uploadUrl = cx_strdup_a(mp->allocator, uploadUrl->string.ptr).ptr; 90 sn->uploadUrl = cx_strdup_a(mp->allocator, uploadUrl->string).ptr;
91 }
92
93 // primary accounts
94 CxJsonValue *primary_accounts = cxJsonObjGet(sessionValue, "primaryAccounts");
95 if(cxJsonIsObject(primary_accounts)) {
96 CxJsonValue *pm_mail = cxJsonObjGet(primary_accounts, "urn:ietf:params:jmap:mail");
97 CxJsonValue *pm_contacts = cxJsonObjGet(primary_accounts, "urn:ietf:params:jmap:contacts");
98 CxJsonValue *pm_calendars = cxJsonObjGet(primary_accounts, "urn:ietf:params:jmap:calendars");
99 if(cxJsonIsString(pm_mail)) {
100 sn->primary_accounts.mail = cx_strdup_a(mp->allocator, pm_mail->string).ptr;
101 }
102 if(cxJsonIsString(pm_contacts)) {
103 sn->primary_accounts.contacts = cx_strdup_a(mp->allocator, pm_contacts->string).ptr;
104 }
105 if(cxJsonIsString(pm_calendars)) {
106 sn->primary_accounts.calendars = cx_strdup_a(mp->allocator, pm_calendars->string).ptr;
107 }
91 } 108 }
92 109
93 return sn; 110 return sn;
94 } 111 }
95 112

mercurial