Public Member Functions | |
| SCPM (int options=0, std::ostream &info_out=cout, std::ostream &hash_out=cout, std::string root="") | |
| ~SCPM () | |
| Destructor. | |
| bool | Enable (bool force=false) |
| Makes SCPM ready for use. | |
| bool | Disable () |
| Completely disables SCPM. | |
| bool | Active (std::string &profile) |
| bool | List (std::vector< std::string > &profiles) |
| bool | Add (std::string profile, bool auto_switch=true) |
| bool | Copy (std::string source_profile, std::string profile) |
| bool | Create (std::string profile, std::string source_profile) |
| bool | Delete (std::string profile) |
| bool | Rename (std::string profile, std::string newprofile) |
| bool | Reload () |
| Reloads the current profile. | |
| bool | PrepareSwitch (std::string profile, switch_info_t &switch_info) |
| bool | Switch (switch_info_t &switch_info) |
| Perform prepared switch. | |
| bool | Save (switch_info_t &switch_info) |
| Save modified resources. | |
| bool | Modify (std::string profile, std::string action) |
| bool | Set (std::string command, std::string argument, std::string profile="") |
| bool | Get (std::string command, std::string &result, std::string profile="") |
| bool | Status (scpm_status_t &status) |
| Query some status information. | |
| bool | ShowChanges (std::ostream &output, std::string resource_type, std::string resource_name, bool backup=false, string version="") |
| bool | SetResourceSet (std::string set) |
| bool | GetResourceSet (std::string &set) |
| bool | ListResourceSets (std::vector< std::string > &predefined, std::vector< std::string > &individual) |
| bool | CopyResourceSet (std::string set, std::string newset) |
| bool | DeleteResourceSet (std::string set) |
| bool | ListResourceGroups (std::vector< resource_group_t > &groups) |
| bool | GetResourceGroup (const std::string &name, std::vector< resource_entry_t > &group, bool nouser=false) |
| bool | GetResourceGroup (const std::string &name, std::vector< resource_entry_t > &group, std::string &description, bool nouser=false) |
| bool | SetResourceGroup (const std::string &name, const std::vector< resource_entry_t > &group, const std::string &description) |
| bool | DeleteResourceGroup (const std::string &group) |
| bool | RenameResourceGroup (const std::string &group, const std::string &newgroup) |
| bool | SetActiveResourceGroups (const std::vector< std::string > &groups) |
| bool | GetActiveResourceGroups (std::vector< std::string > &groups) |
| bool | ActivateResourceGroup (const std::string &group, bool auto_add=false) |
| bool | DeactivateResourceGroup (const std::string &group, bool auto_remove=false) |
| bool | ResetResourceGroup (const std::string &group) |
| bool | ResetAllGroups () |
| Resets all resource groups. | |
| bool | RebuildDB (rebuild_mode_t mode=REBUILD_MODE_QUICK) |
| Performs a rebuild of the database. | |
| bool | SetConfigOption (const std::string &option, const std::string &value) |
| bool | GetConfigOption (const std::string &option, std::string &value) |
| bool | Update (const std::string &scriptname, std::vector< pair< std::string, std::string > > resources) |
| bool | UpdateResources () |
| bool | RestoreBackup (const std::vector< pair< string, string > > &resources, const std::vector< std::string > &versions, const std::string &profile) |
| bool | RemoveBackup (const std::vector< pair< string, string > > &resources, const std::vector< std::string > &versions, const std::string &profile) |
| bool | ListBackups (const std::string &profile, std::vector< backup_info_t > *reslist) |
| bool | AddBackup (const std::vector< pair< string, string > > &resources, const std::string &profile) |
| bool | Recover (bool rollback=false) |
| bool | Commit () |
Classes | |
| struct | prepare_failed |
Most of the member functions return a bool variable. This indicates the success of the operation. In case anything went wrong you get back false. The global variable scpm_error holds the apropriate error message.
| ~SCPM | ( | ) |
Destructor, it saves the SCDB and cleans up stuff. Make sure you don't suppress calling it (e.g. by using exit() )
| bool Enable | ( | bool | force = false |
) |
| force | Force reenabling option |
Sets SCPM into enabled status. In case you call SCPM::Enable() the first time (that means, no database is there) the SCPM system gets initialized. This can take a while. You can force re-enabling by setting force to true (using the global force flag will also work), in that case an existing database gets droppend and everything gets newly initialized.
| bool Disable | ( | ) |
Disables SCPM, that means, you can not use it anymore. Nothing gets deleted by calling this function.
| bool Reload | ( | ) |
Does a reload of the active profile. This function is an alias for Switch( active_profile ). FIXME: This is actually broken. The cli frontend implements this actually by calling SCPM::PrepareSwitch and afterwards SCPM::Switch with the current profile as argument. This is basically the same.
| bool Switch | ( | switch_info_t & | switch_info | ) |
| switch_info | The switch_info_t object you called SCPM::PrepareSwitch() with |
Performs the prepared switch to the new profile. That means, it stops services, restores resources from the new profile, and starts resources accordingly.
| bool Save | ( | switch_info_t & | switch_info | ) |
| switch_info | The switch_info_t object you called SCPM::PrepareSwitch() with |
Saves all modified resource listed in the switch_info_t struct that have the save flag set. In case the save_mode element of the struct is set to save_all or patch_all the respective resource does not only get saved to the modified profile but will be saved to all profiles or all profiles get patched so the have the latest change to that resource only. The latter action may fail due to conflicting changes.
| bool Status | ( | scpm_status_t & | status | ) |
| status | Existing scpm_status_t object which gets filled out |
The Status function collects some status information and writes them in the passed scpm_status_t object. Look at the struct members for details.
| bool ResetAllGroups | ( | ) |
Resets all resource groups to its defaults, removes user defined resource groups, and restores original active groups list.
| bool RebuildDB | ( | rebuild_mode_t | mode = REBUILD_MODE_QUICK |
) |
| mode | Optional rebuild mode specification (not ready yet) |
This brings your SCDB up to date. More detailed that means all resources, that do not exist in your system but in the database get removed, and new resources which are not listed in the database get added. The current state of all new resources get saved to all profiles. You may want to call this function after a resource set change, otherwise you will get a quite long list of modified resources on the next switch. Please note: this may daramtically modify your existing database! It may even remove data!