int HandleTriggerDelete(Command *comm, int argc, char **argv) { char fn[] = "HandleTriggerDelete():"; DB_tDb dbstruct; DB db; TriggerKey tgKey = { 0 }; TriggerEntry *tgPtr; int rc = xleOk; if (argc < 1) { HandleCommandUsage(comm, argc, argv); return -xleInsuffArgs; } nx_strlcpy(tgKey.name, argv[0], TRIGGER_ATTR_LEN); dbstruct.read_write = GDBM_WRCREAT; if (!(db = DbOpenByID(TRIGGER_DB_FILE, DB_eTrigger, &dbstruct))) { CLIPRINTF((stdout, "Unable to open %s\n", TRIGGER_DB_FILE)); return -xleInvalArgs; } if (!(tgPtr = (TriggerEntry *)DbFindEntry(db, (char *)&tgKey, sizeof(TriggerKey)))) { CLIPRINTF((stdout, "entry (%s) does not exists\n", tgKey.name)); rc = -xleNoEntry; DbClose(&dbstruct); goto _return; } /* Store the entry */ if (DbDeleteEntry(db, (char *)&tgKey, sizeof(TriggerKey)) < 0) { CLIPRINTF((stdout,"database delete error %d\n", errno)); rc = -xleOpNoPerm; DbClose(&dbstruct); goto _return; } DbClose(&dbstruct); // Update the cache also if (CacheAttach() > 0) { CacheHandleTrigger(tgPtr, CLIOP_DELETE); CacheDetach(); } _return: free(tgPtr); return rc; }
CAlmSettingsServer::~CAlmSettingsServer() { DbClose(); iSession.Close(); if(iBackupSession) iBackupSession->DeRegisterBackupOperationObserver(*this); delete iBackupSession; }
int OpAcidDb_Stop(OutputPlugin *outputPlugin) { OpAcidDb_Data *data = (OpAcidDb_Data *)outputPlugin->data; if(data == NULL) FatalError("ERROR: Unable to find context for AcidDb startup!\n"); /* close database connection */ DbClose(data); return 0; }
void CAlmSettingsServer::LockNotifyL(TBool aState) { if(aState!=iLock) { if(aState) DbClose(); else if(!iBackup) { User::After(1000000); DbOpenL(); } iLock=aState; } }
void CAlmSettingsServer::HandleBackupOperationEventL(const TBackupOperationAttributes& aBackupOperationAttributes) { TBool state=EFalse; if(aBackupOperationAttributes.iOperation==EStart) state=ETrue; if(state!=iBackup) { if(state) DbClose(); else if(!iLock) { DbOpenL(); } iBackup=state; } }
// // Cleanup (only called if the ModuleNexus is explicitly reset) // Directory::~Directory() { if (mCDSA.DBHandle) CssmError::check(DbClose(mCDSA)); CssmError::check(MDS_Terminate(mds())); }
int HandleTriggerEdit(Command *comm, int argc, char **argv) { char fn[] = "HandleTriggerEdit():"; DB_tDb dbstruct; DB db; DB_tDb crdbstruct; DB crdb; TriggerEntry *tgPtr; TriggerKey tgKey = { 0 }; int rc = xleOk; VpnRouteEntry *tmp; VpnRouteKey routeKey = { 0 }; if (argc < 1) { HandleCommandUsage(comm, argc, argv); return -xleInsuffArgs; } nx_strlcpy(tgKey.name, argv[0], TRIGGER_ATTR_LEN); dbstruct.read_write = GDBM_WRCREAT; if (!(db = DbOpenByID(TRIGGER_DB_FILE, DB_eTrigger, &dbstruct))) { CLIPRINTF((stdout, "Unable to open %s\n", TRIGGER_DB_FILE)); return -xleInvalArgs; } if (!(tgPtr = (TriggerEntry *)DbFindEntry(db, (char *)&tgKey, sizeof(TriggerKey)))) { CLIPRINTF((stdout, "entry (%s) does not exists\n", tgKey.name)); rc = -xleNoEntry; goto _return; } argc -= 1; argv += 1; if (argc <= 0) { goto _return; } // Update the cache also if (CacheAttach() > 0) { CacheHandleTrigger(tgPtr, CLIOP_DELETE); CacheDetach(); } GetAttrPairs(comm->name, &argc, &argv, tgPtr, CLI_GET_ATTR_TRIGGER); if(tgPtr->action == TRIGGER_ACTION_INSERTROUTE && strlen(tgPtr->actiondata) ) { crdbstruct.read_write = GDBM_READER; if (!(crdb = DbOpenByID(CALLROUTE_DB_FILE, DB_eCallRoute, &crdbstruct))) { CLIPRINTF((stdout, "Unable to open %s\n", CALLROUTE_DB_FILE)); rc = -xleInvalArgs; goto _return; } strncpy(routeKey.crname, tgPtr->actiondata, CALLPLAN_ATTR_LEN-1); tmp = (VpnRouteEntry *)DbFindEntry(crdb, (char *)&routeKey, sizeof(VpnRouteKey)); if(!tmp) { CLIPRINTF((stdout, "template route %s not found for trigger %s\n", tgPtr->actiondata, tgPtr->name)); NETDEBUG(MCLI, NETLOG_DEBUG4, ("%s: template route %s not found for trigger %s\n", fn, tgPtr->actiondata, tgPtr->name)); goto _template_route_error; } if( !(tmp->crflags & CRF_TEMPLATE) ) { CLIPRINTF((stdout, "trigger %s can use only a template route\n", tgPtr->name)); NETDEBUG(MCLI, NETLOG_DEBUG4, ("%s: trigger %s can use only a template route\n", fn, tgPtr->name)); goto _template_route_error; } DbClose(&crdbstruct); } /* Store the entry */ if (DbStoreEntry(db, (char *)tgPtr, sizeof(TriggerEntry), (char *)tgPtr, sizeof(TriggerKey)) < 0) { CLIPRINTF((stdout,"database store error %d\n", errno)); rc = -xleOpNoPerm; goto _return; } // Update the cache also if (CacheAttach() > 0) { CacheHandleTrigger(tgPtr, CLIOP_ADD); CacheDetach(); } _return: DbClose(&dbstruct); free(tgPtr); return rc; _template_route_error: rc = -xleInvalArgs; DbClose(&dbstruct); DbClose(&crdbstruct); free(tgPtr); return rc; }