#include <Casarc.h>
Classes | |
| class | meta_entry_ |
Public Types | |
| typedef std::map< std::string, std::string >::const_iterator | iterator |
Public Member Functions | |
| void | put (const std::string &keyword, const std::string &value) |
| adds the keyword->value mapping | |
| std::string | get (const std::string &keyword) |
| retrieves the mapping for keyword (or "" if the mapping is not defined) | |
| bool | get (const std::string &keyword, std::string &value) |
| retrieves the mapping for keyword in value (and returns true if the mapping is defined or false otherwise) | |
| size_t | size () const |
| const std::string & | path () const |
| path to the file that this Casarc mirrors. | |
| iterator | begin () |
| iterator | end () |
Static Public Member Functions | |
| static Casarc & | instance () |
| return default casarc file, e.g. | |
| static void | setDefaultPath (const std::string &path) |
| set and clear the default casarc path (to something other than ~/.casarc) | |
| static void | clearDefaultPath () |
| static Casarc & | instance (const std::string &path) |
| return a casarc object attached to a particular file | |
| static const std::list< Casarc * > & | list () |
| return the list of rcfiles that have been loaded | |
Private Types | |
| enum | lock_mode { READ, READ_WRITE, WRITE, APPEND } |
Private Member Functions | |
| void | close (int) |
| int | lock (lock_mode mode) |
| returns a file descriptor or -1 on error. | |
| void | unlock (int fd) |
| void | sync () |
| double | current_modification_time (struct stat &buf) |
| void | read_file () |
| Casarc (const std::string &path) | |
| path is the path to the .casarc (or .aipsrc file) | |
| ~Casarc () | |
Static Private Member Functions | |
| static void | startup () |
| static void | shutdown () |
Private Attributes | |
| char * | mapped_file |
| off_t | mapped_file_size |
| std::list< int > | stale_fds |
| std::list< pid_t > | have_lock |
| std::string | filename |
| double | timestamp |
| std::map< std::string, std::string > | rcmap |
| std::map< std::string, meta_entry_ > | rcmetamap |
| this is broken off separate from the rcmap to allow the rcmap to be used for iteration by users of this class. | |
| ino_t | inode |
Static Private Attributes | |
| static std::map< ino_t, Casarc * > * | rcfiles |
| singleton Casarcs, (inode->casarc) | |
| static std::map< std::string, Casarc * > * | filenames |
| static std::list< Casarc * > * | rclist |
| static std::string * | default_path |
| static bool | initialized |
Friends | |
| class | CasarcCleanup |
Definition at line 40 of file Casarc.h.
| typedef std::map<std::string,std::string>::const_iterator casacore::Casarc::iterator |
enum casacore::Casarc::lock_mode [private] |
| casacore::Casarc::Casarc | ( | const std::string & | path | ) | [private] |
path is the path to the .casarc (or .aipsrc file)
| iterator casacore::Casarc::begin | ( | ) |
| static void casacore::Casarc::clearDefaultPath | ( | ) | [static] |
| void casacore::Casarc::close | ( | int | ) | [private] |
| double casacore::Casarc::current_modification_time | ( | struct stat & | buf | ) | [private] |
| iterator casacore::Casarc::end | ( | ) |
| bool casacore::Casarc::get | ( | const std::string & | keyword, | |
| std::string & | value | |||
| ) |
retrieves the mapping for keyword in value (and returns true if the mapping is defined or false otherwise)
| std::string casacore::Casarc::get | ( | const std::string & | keyword | ) |
retrieves the mapping for keyword (or "" if the mapping is not defined)
| static Casarc& casacore::Casarc::instance | ( | const std::string & | path | ) | [static] |
return a casarc object attached to a particular file
| static const std::list<Casarc*>& casacore::Casarc::list | ( | ) | [static] |
return the list of rcfiles that have been loaded
| int casacore::Casarc::lock | ( | lock_mode | mode | ) | [private] |
returns a file descriptor or -1 on error.
.\.
| const std::string& casacore::Casarc::path | ( | ) | const [inline] |
| void casacore::Casarc::put | ( | const std::string & | keyword, | |
| const std::string & | value | |||
| ) |
adds the keyword->value mapping
| void casacore::Casarc::read_file | ( | ) | [private] |
| static void casacore::Casarc::setDefaultPath | ( | const std::string & | path | ) | [static] |
set and clear the default casarc path (to something other than ~/.casarc)
| static void casacore::Casarc::shutdown | ( | ) | [static, private] |
Referenced by casacore::CasarcCleanup::~CasarcCleanup().
| size_t casacore::Casarc::size | ( | ) | const |
| static void casacore::Casarc::startup | ( | ) | [static, private] |
| void casacore::Casarc::sync | ( | ) | [private] |
| void casacore::Casarc::unlock | ( | int | fd | ) | [private] |
friend class CasarcCleanup [friend] |
std::string* casacore::Casarc::default_path [static, private] |
std::string casacore::Casarc::filename [private] |
std::map<std::string,Casarc*>* casacore::Casarc::filenames [static, private] |
std::list<pid_t> casacore::Casarc::have_lock [private] |
bool casacore::Casarc::initialized [static, private] |
ino_t casacore::Casarc::inode [private] |
char* casacore::Casarc::mapped_file [private] |
off_t casacore::Casarc::mapped_file_size [private] |
std::map<ino_t,Casarc*>* casacore::Casarc::rcfiles [static, private] |
std::list<Casarc*>* casacore::Casarc::rclist [static, private] |
std::map<std::string,std::string> casacore::Casarc::rcmap [private] |
std::map<std::string,meta_entry_> casacore::Casarc::rcmetamap [private] |
std::list<int> casacore::Casarc::stale_fds [private] |
double casacore::Casarc::timestamp [private] |
1.6.1