RCL Design Pattern 1

来源:互联网 发布:修改网络连接端口号 编辑:程序博客网 时间:2024/05/27 09:46
CmsRet rcl_dDnsCfgObject( _DDnsCfgObject *newObj, const _DDnsCfgObject *currObj, const InstanceIdStack *iidStack, char **errorParam __attribute__((unused)), CmsRet *errorCode __attribute__((unused))){ CmsRet ret = CMSRET_SUCCESS; cmsLog_debug("access to set ddns debug!"); /* add and enable dynamic dns, or enable existing dynamic dns */ if (ENABLE_NEW_OR_ENABLE_EXISTING(newObj, currObj)) { cmsLog_debug("Add or enable dynamic dns entry: hostname=%s, username=%s, password=%s, interface=%s, service=%s", newObj->fullyQualifiedDomainName, newObj->userName, newObj->password, newObj->ifName, newObj->providerName); if (!rutDDns_isAllRequiredValuesPresent(newObj)) { return CMSRET_INVALID_ARGUMENTS; } if (rutDDns_isDuplicateFQDN(newObj->fullyQualifiedDomainName, iidStack)) { return CMSRET_INVALID_PARAM_VALUE; } rutDDns_restart(); } /* edit existing dynamic dns */ else if (POTENTIAL_CHANGE_OF_EXISTING(newObj, currObj) && rutDDns_isValuesChanged(newObj, currObj)) { cmsLog_debug("edit dynamic dns entry: hostname=%s, username=%s, password=%s, interface=%s, service=%s", currObj->fullyQualifiedDomainName, currObj->userName, currObj->password, currObj->ifName, currObj->providerName); if (!rutDDns_isAllRequiredValuesPresent(newObj)) { return CMSRET_INVALID_ARGUMENTS; } if (rutDDns_isDuplicateFQDN(newObj->fullyQualifiedDomainName, iidStack)) { return CMSRET_INVALID_PARAM_VALUE; } rutDDns_restart(); } /* remove dynamic dns, or disable existing dynamic dns */ else if (DELETE_OR_DISABLE_EXISTING(newObj, currObj)) { cmsLog_debug("Delete or disable dynamic dns entry: hostname=%s, username=%s, password=%s, interface=%s, service=%s", currObj->fullyQualifiedDomainName, currObj->userName, currObj->password, currObj->ifName, currObj->providerName); rutDDns_stop(); if (rutDDns_getNumberOfEnabledEntries() > 0) { rutDDns_restart(); } } return ret;}
0 0