#include "stg/locker.h"
#include "stg/store.h"
#include "stg/noncopyable.h"
+#include "stg/logger.h"
class ADMIN;
class SERVICES_IMPL : private NONCOPYABLE, public SERVICES {
public:
SERVICES_IMPL(STORE * st);
- virtual SERVICES_IMPL() {}
+ virtual ~SERVICES_IMPL() {}
int Add(const SERVICE_CONF & service, const ADMIN * admin);
int Del(const std::string & name, const ADMIN * admin);
int Change(const SERVICE_CONF & service, const ADMIN * admin);
- bool FindService(const std::string & name, SERVICE_CONF & service);
- bool ServiceExists(const std::string & name) const;
- const std::string & GetStrError() const;
+ bool Find(const std::string & name, SERVICE_CONF * service);
+ bool Exists(const std::string & name) const;
+ const std::string & GetStrError() const { return strError; }
+
+ size_t Count() const { return data.size(); }
int OpenSearch() const;
int SearchNext(int, SERVICE_CONF * service) const;
int CloseSearch(int) const;
private:
+ SERVICES_IMPL(const SERVICES_IMPL & rvalue);
+ SERVICES_IMPL & operator=(const SERVICES_IMPL & rvalue);
+
typedef list<SERVICE_CONF>::iterator srv_iter;
typedef list<SERVICE_CONF>::const_iterator const_srv_iter;
- bool ReadServices();
+ bool Read();
std::list<SERVICE_CONF> data;
STORE * store;
mutable pthread_mutex_t mutex;
std::string strError;
};
+
+#endif