コード例 #1
0
ファイル: appsyncsourceconfig.cpp プロジェクト: KDE/akunambol
bool AppSyncSourceConfig::save() {
    DeviceManagementNode* node = new DeviceManagementNode("Funambol/Akunambol/appsourceconfig", sourceName.c_str());
    StringBuffer id;
    id.append(collectionId);
    node->setPropertyValue("collection-id", id.c_str());
    node->setPropertyValue("remote-uri", remoteUri.c_str());
    delete node;

    return true;
}
コード例 #2
0
ファイル: appsyncsourceconfig.cpp プロジェクト: KDE/akunambol
bool AppSyncSourceConfig::load() {
    DeviceManagementNode* node = new DeviceManagementNode("Funambol/Akunambol/appsourceconfig", sourceName.c_str());
    const char* remoteUriStr = node->readPropertyValue("remote-uri");
    if (remoteUriStr != NULL) {
        remoteUri.assign(remoteUriStr);
    }
    const char* idStr = node->readPropertyValue("collection-id");
    collectionId = (qint64) strtol(idStr, NULL, 0);

    return true;
}
コード例 #3
0
/*
 * Creates a new ManagementNode with the exact content of this object.
 * The new instance MUST be created with the C++ new opertator.
 */
ArrayElement* DeviceManagementNode::clone() {
	DeviceManagementNode* ret = new DeviceManagementNode(context, name);

	int n = children.size();

	for (int i = 0; i<n; ++i) {
		ret->addChild(*((ManagementNode*)children[i]));
	}

	return ret;
}
コード例 #4
0
void MailSourceManagementNode::setMailAccounts(MailSyncSourceConfig& c){
    char t[512];
    ArrayList mailAccounts = config.getMailAccounts();
    int accountNum = mailAccounts.size();

	if (accountNum) {
        char* fullcontext = toMultibyte(getFullContext());
        DeviceManagementNode* mn = new DeviceManagementNode(fullcontext, PROPERTY_MAIL_ACCOUNT_ROOT);
 
        for (int i = 0; i < accountNum; i ++) { 
            if (((MailAccount*)mailAccounts[i])->getDeleted()){
                WCHAR* wname = toWideChar(((MailAccount*)mailAccounts[i])->getName());
                WCHAR* node = new WCHAR[wcslen(getFullContext()) + wcslen(wname) + wcslen(TEXT("\\mailAccounts\\")) +1];
                wsprintf(node, TEXT("%s\\mailAccounts\\%s"), getFullContext(), wname);
                deletePropertyNode(node);
                config.delMailAccount(((MailAccount*)mailAccounts[i])->getName());

                delete [] wname;
                delete [] node;
            }
        }

        delete mn;
        mailAccounts = config.getMailAccounts();
	    c.setMailAccounts(mailAccounts);
        accountNum = mailAccounts.size();
	    for (int i = 0; i < accountNum; i++) {
	        MailAccount* account = static_cast<MailAccount*>(mailAccounts[i]);
		    char valname[512];
            const char* name = stringdup(((StringBuffer)account->getName()).c_str());
            char fullname[512];
            sprintf(fullname, "%s/%s", fullcontext, PROPERTY_MAIL_ACCOUNT_ROOT);
            
	        DeviceManagementNode* mn = new DeviceManagementNode(fullname,name);
			
	        sprintf(valname, PROPERTY_MAIL_ACCOUNT_VISIBLE_NAME, name);
		    sprintf(t, "%s", account->getVisibleName());
		    mn->setPropertyValue(valname, t);

	        sprintf(valname, PROPERTY_MAIL_ACCOUNT_EMAILADDRESS, name);
		    sprintf(t, "%s", account->getEmailAddress());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_PROTOCOL, name);
		    sprintf(t, "%s", account->getProtocol());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_USERNAME, name);
		    sprintf(t, "%s", account->getUsername());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_PASSWORD, name);
		    sprintf(t, "%s", account->getPassword());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_IN_SERVER, name);
		    sprintf(t, "%s", account->getInServer());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_OUT_SERVER, name);
		    sprintf(t, "%s", account->getOutServer());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_IN_PORT, name);
		    sprintf(t, "%s", account->getInPort());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_OUT_PORT, name);
		    sprintf(t, "%s", account->getOutPort());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_IN_SSL, name);
		    sprintf(t, "%s", account->getInSSL());
		    mn->setPropertyValue(valname, t);

	    	sprintf(valname, PROPERTY_MAIL_ACCOUNT_OUT_SSL, name);
		    sprintf(t, "%s", account->getOutSSL());
		    mn->setPropertyValue(valname, t);

		    sprintf(valname, PROPERTY_MAIL_ACCOUNT_SIGNATURE, name);
		    sprintf(t, "%s", account->getSignature());
		    mn->setPropertyValue(valname, t);

	    	sprintf(valname, PROPERTY_MAIL_ACCOUNT_DOMAINNAME, name);
		    sprintf(t, "%s", account->getDomainName());
		    mn->setPropertyValue(valname, t);

            sprintf(valname, PROPERTY_MAIL_ACCOUNT_TO_BE_CLEANED, name);
            
            int toBeCleaned = 0;
            if (account->getToBeCleaned()){
                toBeCleaned = 1;
            }
            sprintf(t, "%d", toBeCleaned);
            mn->setPropertyValue(valname, t);

            sprintf(valname, PROPERTY_MAIL_ACCOUNT_ID, name);			
		    const WCHAR* accountIdw = account->getID();
	        const char *accountId = toMultibyte(accountIdw);
		    sprintf(t, "%s", accountId);
		    delete [] accountId;

		    mn->setPropertyValue(valname, t);
            delete mn;
            delete [] name;
		}

        delete [] fullcontext;
	}
}
コード例 #5
0
void MailSourceManagementNode::getMailAccounts()
{
    char nname[512];
    char* tmp;
    char* fullcontext = toMultibyte(getFullContext());
    sprintf(nname, "%s/%s", fullcontext , PROPERTY_MAIL_ACCOUNT_ROOT);
    DeviceManagementNode* dmn = new DeviceManagementNode(nname);
    int numchild = dmn->getChildrenMaxCount();
    char** accountNames = dmn->getChildrenNames();

    for ( int p = 0; p<numchild; p++){
        MailAccount ma;
        char valname[512];
        char fullname[512];
        sprintf(fullname, "%s/%s",  fullcontext, PROPERTY_MAIL_ACCOUNT_ROOT);
        const char* name = stringdup(accountNames[p]);
        DeviceManagementNode* mn = new DeviceManagementNode(fullname,name);

        ma.setName(name);

        sprintf(valname,PROPERTY_MAIL_ACCOUNT_VISIBLE_NAME,name);
        tmp = mn->readPropertyValue(valname);
        ma.setVisibleName(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_EMAILADDRESS,name);
        tmp = mn->readPropertyValue(valname);
        ma.setEmailAddress(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_PROTOCOL,name);
        tmp = mn->readPropertyValue(valname);
        ma.setProtocol(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_USERNAME,name);
        tmp = mn->readPropertyValue(valname);
        ma.setUsername(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_PASSWORD,name);
        tmp = mn->readPropertyValue(valname);
        ma.setPassword(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_IN_SERVER,name);
        tmp = mn->readPropertyValue(valname);
        ma.setInServer(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_OUT_SERVER,name);
        tmp = mn->readPropertyValue(valname);
        ma.setOutServer(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_IN_PORT,name);
        tmp = mn->readPropertyValue(valname);
        ma.setInPort(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_OUT_PORT,name);
        tmp = mn->readPropertyValue(valname);
        ma.setOutPort(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_IN_SSL,name);
        tmp = mn->readPropertyValue(valname);
        ma.setInSSL(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_OUT_SSL,name);
        tmp = mn->readPropertyValue(valname);
        ma.setOutSSL(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_SIGNATURE,name);
        tmp = mn->readPropertyValue(valname);
        ma.setSignature(tmp); safeDel(&tmp);
        sprintf(valname,PROPERTY_MAIL_ACCOUNT_DOMAINNAME,name);
        tmp = mn->readPropertyValue(valname);
        ma.setDomainName(tmp); safeDel(&tmp);

        sprintf(valname,PROPERTY_MAIL_ACCOUNT_TO_BE_CLEANED,name);
        tmp = mn->readPropertyValue(valname);
        if(strcmp(tmp, "1") == 0){
            ma.setToBeCleaned(true);
        }

        sprintf(valname,PROPERTY_MAIL_ACCOUNT_ID,name);
        tmp = mn->readPropertyValue(valname);
        WCHAR* idW = toWideChar(tmp); safeDel(&tmp);
        ma.setID(idW);
        if (idW) { delete [] idW; }

        config.addMailAccount(ma);

        delete [] name;
    }

    delete [] fullcontext;
}