void LC_ReaderFlags_toDb(GWEN_DB_NODE *db, const char *name, uint32_t fl) { assert(db); assert(name); GWEN_DB_DeleteVar(db, name); if (fl & LC_READER_FLAGS_KEYPAD) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "keypad"); if (fl & LC_READER_FLAGS_DISPLAY) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "display"); if (fl & LC_READER_FLAGS_NOINFO) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "noinfo"); if (fl & LC_READER_FLAGS_REMOTE) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "remote"); if (fl & LC_READER_FLAGS_AUTO) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "auto"); if (fl & LC_READER_FLAGS_DRIVER_HAS_VERIFY) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "driverHasVerify"); if (fl & LC_READER_FLAGS_KEEP_RUNNING) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "keepRunning"); if (fl & LC_READER_FLAGS_LOW_WRITE_BOUNDARY) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "lowWriteBoundary"); if (fl & LC_READER_FLAGS_NO_MEMORY_SW) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "noMemorySw"); }
void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name, uint32_t flags) { GWEN_DB_DeleteVar(db, name); if (flags & AH_USER_FLAGS_BANK_DOESNT_SIGN) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "bankDoesntSign"); if (flags & AH_USER_FLAGS_BANK_USES_SIGNSEQ) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "bankUsesSignSeq"); if (flags & AH_USER_FLAGS_KEEPALIVE) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "keepAlive"); if (flags & AH_USER_FLAGS_IGNORE_UPD) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ignoreUpd"); if (flags & AH_USER_FLAGS_FORCE_SSL3) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "forceSsl3"); if (flags & AH_USER_FLAGS_NO_BASE64) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "noBase64"); if (flags & AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "keepMultipleBlanks"); if (flags & AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "omitSmsAccount"); if (flags & AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "tlsOnlySafeCiphers"); }
void LC_ServiceFlags_toDb(GWEN_DB_NODE *db, const char *name, uint32_t flags) { GWEN_DB_DeleteVar(db, name); if (flags & LC_SERVICE_FLAGS_AUTOLOAD) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "autoload"); if (flags & LC_SERVICE_FLAGS_CLIENT) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "client"); if (flags & LC_SERVICE_FLAGS_SILENT) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "silent"); }
int LC_DriverFlags_toDb(GWEN_DB_NODE *db, const char *name, uint32_t flags) { GWEN_DB_DeleteVar(db, name); if (flags & LC_DRIVER_FLAGS_AUTO) if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "auto")) return -1; if (flags & LC_DRIVER_FLAGS_REMOTE) if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "remote")) return -1; if (flags & LC_DRIVER_FLAGS_CONFIG) if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "config")) return -1; if (flags & LC_DRIVER_FLAGS_HAS_VERIFY_FN) if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "has_verify_fn")) return -1; if (flags & LC_DRIVER_FLAGS_HAS_MODIFY_FN) if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "has_modify_fn")) return -1; return 0; }
void OH_GetInstituteDialog_Fini(GWEN_DIALOG *dlg) { OH_GETINST_DIALOG *xdlg; int i; GWEN_DB_NODE *dbPrefs; assert(dlg); xdlg=GWEN_INHERIT_GETDATA(GWEN_DIALOG, OH_GETINST_DIALOG, dlg); assert(xdlg); dbPrefs=GWEN_Dialog_GetPreferences(dlg); /* store dialog width */ i=GWEN_Dialog_GetIntProperty(dlg, "", GWEN_DialogProperty_Width, 0, -1); GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "dialog_width", i); /* store dialog height */ i=GWEN_Dialog_GetIntProperty(dlg, "", GWEN_DialogProperty_Height, 0, -1); GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "dialog_height", i); /* store column widths of importer list */ GWEN_DB_DeleteVar(dbPrefs, "bank_list_columns"); for (i=0; i<1; i++) { int j; j=GWEN_Dialog_GetIntProperty(dlg, "listBox", GWEN_DialogProperty_ColumnWidth, i, -1); if (j<LIST_MINCOLWIDTH) j=LIST_MINCOLWIDTH; GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_DEFAULT, "bank_list_columns", j); } /* store column sorting */ GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "bank_list_sortbycolumn", -1); for (i=0; i<1; i++) { int j; j=GWEN_Dialog_GetIntProperty(dlg, "listBox", GWEN_DialogProperty_SortDirection, i, GWEN_DialogSortDirection_None); if (j!=GWEN_DialogSortDirection_None) { GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "bank_list_sortbycolumn", i); GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "bank_list_sortdir", (j==GWEN_DialogSortDirection_Up)?1:0); break; } } }
int GWEN_Param_WriteDb(const GWEN_PARAM *p_struct, GWEN_DB_NODE *p_db) { int p_rv; assert(p_struct); /* member "name" */ if (p_struct->name) p_rv=GWEN_DB_SetCharValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "name", p_struct->name); else { GWEN_DB_DeleteVar(p_db, "name"); p_rv=0; } if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "flags" */ p_rv=GWEN_DB_SetIntValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "flags", p_struct->flags); if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "type" */ p_rv=GWEN_DB_SetCharValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "type", GWEN_Param_Type_toString(p_struct->type)); if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "dataType" */ p_rv=GWEN_DB_SetCharValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "dataType", GWEN_Param_DataType_toString(p_struct->dataType)); if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "shortDescription" */ if (p_struct->shortDescription) p_rv=GWEN_DB_SetCharValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "shortDescription", p_struct->shortDescription); else { GWEN_DB_DeleteVar(p_db, "shortDescription"); p_rv=0; } if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "longDescription" */ if (p_struct->longDescription) p_rv=GWEN_DB_SetCharValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "longDescription", p_struct->longDescription); else { GWEN_DB_DeleteVar(p_db, "longDescription"); p_rv=0; } if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "currentValue" */ if (p_struct->currentValue) p_rv=GWEN_DB_SetCharValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "currentValue", p_struct->currentValue); else { GWEN_DB_DeleteVar(p_db, "currentValue"); p_rv=0; } if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "defaultValue" */ if (p_struct->defaultValue) p_rv=GWEN_DB_SetCharValue(p_db, GWEN_DB_FLAGS_OVERWRITE_VARS, "defaultValue", p_struct->defaultValue); else { GWEN_DB_DeleteVar(p_db, "defaultValue"); p_rv=0; } if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "choices" */ if (p_struct->choices) { p_rv=GWEN_StringList2_toDb(p_struct->choices, p_db, "choices"); } else { GWEN_DB_DeleteVar(p_db, "choices"); p_rv=0; } if (p_rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)\n", p_rv); return p_rv; } /* member "internalIntValue" is volatile, not writing to db */ /* member "internalFloatValue" is volatile, not writing to db */ /* member "runtimeFlags" is volatile, not writing to db */ return 0; }
void AB_SetupDialog_Fini(GWEN_DIALOG *dlg) { AB_SETUP_DIALOG *xdlg; int i; GWEN_DB_NODE *dbPrefs; assert(dlg); xdlg=GWEN_INHERIT_GETDATA(GWEN_DIALOG, AB_SETUP_DIALOG, dlg); assert(xdlg); /* deactivate providers */ AB_SetupDialog_DeactivateProviders(dlg); dbPrefs=GWEN_Dialog_GetPreferences(dlg); /* store dialog width */ i=GWEN_Dialog_GetIntProperty(dlg, "", GWEN_DialogProperty_Width, 0, -1); GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "dialog_width", i); /* store dialog height */ i=GWEN_Dialog_GetIntProperty(dlg, "", GWEN_DialogProperty_Height, 0, -1); GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "dialog_height", i); /* store column widths of user list */ GWEN_DB_DeleteVar(dbPrefs, "user_list_columns"); for (i=0; i<6; i++) { int j; j=GWEN_Dialog_GetIntProperty(dlg, "userListBox", GWEN_DialogProperty_ColumnWidth, i, -1); if (j<USER_LIST_MINCOLWIDTH) j=USER_LIST_MINCOLWIDTH; GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_DEFAULT, "user_list_columns", j); } /* store column sorting of user list */ GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "user_list_sortbycolumn", -1); for (i=0; i<6; i++) { int j; j=GWEN_Dialog_GetIntProperty(dlg, "userListBox", GWEN_DialogProperty_SortDirection, i, GWEN_DialogSortDirection_None); if (j!=GWEN_DialogSortDirection_None) { GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "user_list_sortbycolumn", i); GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "user_list_sortdir", (j==GWEN_DialogSortDirection_Up)?1:0); break; } } /* store column widths of account list */ GWEN_DB_DeleteVar(dbPrefs, "account_list_columns"); for (i=0; i<7; i++) { int j; j=GWEN_Dialog_GetIntProperty(dlg, "accountListBox", GWEN_DialogProperty_ColumnWidth, i, -1); if (j<ACCOUNT_LIST_MINCOLWIDTH) j=ACCOUNT_LIST_MINCOLWIDTH; GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_DEFAULT, "account_list_columns", j); } /* store column sorting */ GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "account_list_sortbycolumn", -1); for (i=0; i<7; i++) { int j; j=GWEN_Dialog_GetIntProperty(dlg, "accountListBox", GWEN_DialogProperty_SortDirection, i, GWEN_DialogSortDirection_None); if (j!=GWEN_DialogSortDirection_None) { GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "account_list_sortbycolumn", i); GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, "account_list_sortdir", (j==GWEN_DialogSortDirection_Up)?1:0); break; } } }
void LC_NotifyFlags_toDb(GWEN_DB_NODE *db, const char *name, uint32_t fl) { assert(db); assert(name); GWEN_DB_DeleteVar(db, name); if (fl & LC_NOTIFY_FLAGS_DRIVER_START) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "DriverStart"); if (fl & LC_NOTIFY_FLAGS_DRIVER_UP) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "DriverUp"); if (fl & LC_NOTIFY_FLAGS_DRIVER_DOWN) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "DriverDown"); if (fl & LC_NOTIFY_FLAGS_DRIVER_ERROR) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "DriverError"); if (fl & LC_NOTIFY_FLAGS_SERVICE_START) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ServiceStart"); if (fl & LC_NOTIFY_FLAGS_SERVICE_UP) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ServiceUp"); if (fl & LC_NOTIFY_FLAGS_SERVICE_DOWN) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ServiceDown"); if (fl & LC_NOTIFY_FLAGS_SERVICE_ERROR) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ServiceError"); if (fl & LC_NOTIFY_FLAGS_CARD_INSERTED) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "CardInserted"); if (fl & LC_NOTIFY_FLAGS_CARD_REMOVED) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "CardRemoved"); if (fl & LC_NOTIFY_FLAGS_CLIENT_UP) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientUp"); if (fl & LC_NOTIFY_FLAGS_CLIENT_DOWN) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientDown"); if (fl & LC_NOTIFY_FLAGS_CLIENT_STARTWAIT) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientStartWait"); if (fl & LC_NOTIFY_FLAGS_CLIENT_STOPWAIT) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientStopWait"); if (fl & LC_NOTIFY_FLAGS_CLIENT_TAKECARD) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientTakeCard"); if (fl & LC_NOTIFY_FLAGS_CLIENT_GOTCARD) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientGotCard"); if (fl & LC_NOTIFY_FLAGS_CLIENT_CMDSEND) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientCmdSend"); if (fl & LC_NOTIFY_FLAGS_CLIENT_CMDRECV) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "ClientCmdRecv"); if (fl & LC_NOTIFY_FLAGS_SINGLESHOT) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, name, "SingleShot"); }
int AB_TransactionLimits_toDb(const AB_TRANSACTION_LIMITS *st, GWEN_DB_NODE *db) { assert(st); assert(db); if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenLocalName", st->maxLenLocalName)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenLocalName", st->minLenLocalName)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenRemoteName", st->maxLenRemoteName)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenRemoteName", st->minLenRemoteName)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLinesRemoteName", st->maxLinesRemoteName)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLinesRemoteName", st->minLinesRemoteName)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenLocalBankCode", st->maxLenLocalBankCode)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenLocalBankCode", st->minLenLocalBankCode)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenLocalAccountNumber", st->maxLenLocalAccountNumber)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenLocalAccountNumber", st->minLenLocalAccountNumber)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenLocalSuffix", st->maxLenLocalSuffix)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenLocalSuffix", st->minLenLocalSuffix)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenRemoteBankCode", st->maxLenRemoteBankCode)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenRemoteBankCode", st->minLenRemoteBankCode)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenRemoteAccountNumber", st->maxLenRemoteAccountNumber)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenRemoteAccountNumber", st->minLenRemoteAccountNumber)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenRemoteSuffix", st->maxLenRemoteSuffix)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenRemoteSuffix", st->minLenRemoteSuffix)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenRemoteIban", st->maxLenRemoteIban)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenRemoteIban", st->minLenRemoteIban)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenTextKey", st->maxLenTextKey)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenTextKey", st->minLenTextKey)) return -1; if (st->valuesTextKey) { GWEN_STRINGLISTENTRY *se; GWEN_DB_DeleteVar(db, "valuesTextKey"); se=GWEN_StringList_FirstEntry(st->valuesTextKey); while(se) { const char *s; s=GWEN_StringListEntry_Data(se); assert(s); if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, "valuesTextKey", s)) return -1; se=GWEN_StringListEntry_Next(se); } /* while */ } if (st->textKeys) if (1) { GWEN_DB_NODE *dbT; AB_TEXTKEY_DESCR *e; dbT=GWEN_DB_GetGroup(db, GWEN_PATH_FLAGS_CREATE_GROUP, "textKeys"); assert(dbT); e=AB_TextKeyDescr_List_First(st->textKeys); while(e) { if (AB_TextKeyDescr_toDb(e, GWEN_DB_GetGroup(dbT, GWEN_PATH_FLAGS_CREATE_GROUP, "element"))) return -1; e=AB_TextKeyDescr_List_Next(e); } /* while */ } /* if (1) */ if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenCustomerReference", st->maxLenCustomerReference)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenCustomerReference", st->minLenCustomerReference)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenBankReference", st->maxLenBankReference)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenBankReference", st->minLenBankReference)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLenPurpose", st->maxLenPurpose)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLenPurpose", st->minLenPurpose)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxLinesPurpose", st->maxLinesPurpose)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minLinesPurpose", st->minLinesPurpose)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "needDate", st->needDate)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minValueSetupTime", st->minValueSetupTime)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxValueSetupTime", st->maxValueSetupTime)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minValueSetupTimeFirst", st->minValueSetupTimeFirst)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxValueSetupTimeFirst", st->maxValueSetupTimeFirst)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minValueSetupTimeOnce", st->minValueSetupTimeOnce)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxValueSetupTimeOnce", st->maxValueSetupTimeOnce)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minValueSetupTimeRecurring", st->minValueSetupTimeRecurring)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxValueSetupTimeRecurring", st->maxValueSetupTimeRecurring)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "minValueSetupTimeFinal", st->minValueSetupTimeFinal)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxValueSetupTimeFinal", st->maxValueSetupTimeFinal)) return -1; if (st->valuesCycleWeek) { GWEN_STRINGLISTENTRY *se; GWEN_DB_DeleteVar(db, "valuesCycleWeek"); se=GWEN_StringList_FirstEntry(st->valuesCycleWeek); while(se) { const char *s; s=GWEN_StringListEntry_Data(se); assert(s); if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, "valuesCycleWeek", s)) return -1; se=GWEN_StringListEntry_Next(se); } /* while */ } if (st->valuesCycleMonth) { GWEN_STRINGLISTENTRY *se; GWEN_DB_DeleteVar(db, "valuesCycleMonth"); se=GWEN_StringList_FirstEntry(st->valuesCycleMonth); while(se) { const char *s; s=GWEN_StringListEntry_Data(se); assert(s); if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, "valuesCycleMonth", s)) return -1; se=GWEN_StringListEntry_Next(se); } /* while */ } if (st->valuesExecutionDayWeek) { GWEN_STRINGLISTENTRY *se; GWEN_DB_DeleteVar(db, "valuesExecutionDayWeek"); se=GWEN_StringList_FirstEntry(st->valuesExecutionDayWeek); while(se) { const char *s; s=GWEN_StringListEntry_Data(se); assert(s); if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, "valuesExecutionDayWeek", s)) return -1; se=GWEN_StringListEntry_Next(se); } /* while */ } if (st->valuesExecutionDayMonth) { GWEN_STRINGLISTENTRY *se; GWEN_DB_DeleteVar(db, "valuesExecutionDayMonth"); se=GWEN_StringList_FirstEntry(st->valuesExecutionDayMonth); while(se) { const char *s; s=GWEN_StringListEntry_Data(se); assert(s); if (GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, "valuesExecutionDayMonth", s)) return -1; se=GWEN_StringListEntry_Next(se); } /* while */ } if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowMonthly", st->allowMonthly)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowWeekly", st->allowWeekly)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeRecipientAccount", st->allowChangeRecipientAccount)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeRecipientName", st->allowChangeRecipientName)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeValue", st->allowChangeValue)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeTextKey", st->allowChangeTextKey)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangePurpose", st->allowChangePurpose)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeFirstExecutionDate", st->allowChangeFirstExecutionDate)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeLastExecutionDate", st->allowChangeLastExecutionDate)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeCycle", st->allowChangeCycle)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangePeriod", st->allowChangePeriod)) return -1; if (GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "allowChangeExecutionDay", st->allowChangeExecutionDay)) return -1; return 0; }
int AB_ImExporterContext_toDb(const AB_IMEXPORTER_CONTEXT *iec, GWEN_DB_NODE *db){ AB_IMEXPORTER_ACCOUNTINFO *iea; AB_SECURITY *sec; AB_MESSAGE *msg; iea=AB_ImExporterAccountInfo_List_First(iec->accountInfoList); if (iea) { GWEN_DB_NODE *dbG; dbG=GWEN_DB_GetGroup(db, GWEN_DB_FLAGS_OVERWRITE_GROUPS, "accountInfoList"); assert(dbG); while(iea) { GWEN_DB_NODE *dbT; dbT=GWEN_DB_GetGroup(dbG, GWEN_PATH_FLAGS_CREATE_GROUP, "accountInfo"); assert(dbT); if (AB_ImExporterAccountInfo_toDb(iea, dbT)) return -1; iea=AB_ImExporterAccountInfo_List_Next(iea); } } sec=AB_Security_List_First(iec->securityList); if (sec) { GWEN_DB_NODE *dbG; dbG=GWEN_DB_GetGroup(db, GWEN_DB_FLAGS_OVERWRITE_GROUPS, "securityList"); assert(dbG); while(sec) { GWEN_DB_NODE *dbT; dbT=GWEN_DB_GetGroup(dbG, GWEN_PATH_FLAGS_CREATE_GROUP, "security"); assert(dbT); if (AB_Security_toDb(sec, dbT)) return -1; sec=AB_Security_List_Next(sec); } } msg=AB_Message_List_First(iec->messageList); if (msg) { GWEN_DB_NODE *dbG; dbG=GWEN_DB_GetGroup(db, GWEN_DB_FLAGS_OVERWRITE_GROUPS, "messageList"); assert(dbG); while(msg) { GWEN_DB_NODE *dbT; dbT=GWEN_DB_GetGroup(dbG, GWEN_PATH_FLAGS_CREATE_GROUP, "message"); assert(dbT); if (AB_Message_toDb(msg, dbT)) return -1; msg=AB_Message_List_Next(msg); } } GWEN_DB_DeleteVar(db, "logs"); if (GWEN_Buffer_GetUsedBytes(iec->logs)) { const char *s; s=GWEN_Buffer_GetStart(iec->logs); while(*s) { char buf[64]; strncpy(buf, s, sizeof(buf)-1); buf[sizeof(buf)-1]=0; GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_DEFAULT, "logs", buf); s+=strlen(buf); } } return 0; }
void AH_User_toDb(AB_USER *u, GWEN_DB_NODE *db) { AH_USER *ue; int i; GWEN_DB_NODE *gr; const char *s; assert(u); ue=GWEN_INHERIT_GETDATA(AB_USER, AH_USER, u); assert(ue); /* save crypt mode */ s=AH_CryptMode_toString(ue->cryptMode); GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "cryptMode", s); /* save status */ s=AH_User_Status_toString(ue->status); GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "status", s); GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "hbciVersion", ue->hbciVersion); if (ue->httpContentType) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "httpContentType", ue->httpContentType); else GWEN_DB_DeleteVar(db, "httpContentType"); /* save URL */ if (ue->serverUrl) { GWEN_BUFFER *nbuf; nbuf=GWEN_Buffer_new(0, 256, 0, 1); if (GWEN_Url_toString(ue->serverUrl, nbuf)) { DBG_ERROR(AQHBCI_LOGDOMAIN, "Could not store url"); GWEN_Buffer_free(nbuf); assert(0); } GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "server", GWEN_Buffer_GetStart(nbuf)); GWEN_Buffer_free(nbuf); } /* if serverUrl */ /* save BPD */ assert(ue->bpd); gr=GWEN_DB_GetGroup(db, GWEN_DB_FLAGS_OVERWRITE_GROUPS, "bpd"); assert(gr); AH_Bpd_ToDb(ue->bpd, gr); /* save UPD */ if (ue->dbUpd) { gr=GWEN_DB_GetGroup(db, GWEN_DB_FLAGS_OVERWRITE_GROUPS, "upd"); assert(gr); GWEN_DB_AddGroupChildren(gr, ue->dbUpd); } if (ue->peerId) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "peerId", ue->peerId); if (ue->systemId) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "systemId", ue->systemId); GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "updVersion", ue->updVersion); /* save http settings */ GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "httpVMajor", ue->httpVMajor); GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "httpVMinor", ue->httpVMinor); if (ue->httpUserAgent) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "httpUserAgent", ue->httpUserAgent); /* save flags */ AH_User_Flags_toDb(db, "userFlags", ue->flags); /* save crypt token settings */ if (ue->tokenType) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "tokenType", ue->tokenType); if (ue->tokenName) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "tokenName", ue->tokenName); GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "tokenContextId", ue->tokenContextId); GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "rdhType", ue->rdhType); /* store list of supported/allowed tan methods */ GWEN_DB_DeleteVar(db, "tanMethodList"); for (i=0; i<ue->tanMethodCount; i++) { if (ue->tanMethodList[i]==-1) break; GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_DEFAULT, "tanMethodList", ue->tanMethodList[i]); } GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "selectedTanMethod", ue->selectedTanMethod); /* store some settings */ GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxTransfersPerJob", ue->maxTransfersPerJob); GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "maxDebitNotesPerJob", ue->maxDebitNotesPerJob); if (ue->sepaTransferProfile) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "sepaTransferProfile", ue->sepaTransferProfile); if (ue->sepaDebitNoteProfile) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "sepaDebitNoteProfile", ue->sepaDebitNoteProfile); if (ue->tanMediumId) GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS, "tanMediumId", ue->tanMediumId); }