#include <ace/Service_Repository.h>
class ACE_Service_Repository {
public:friend class ACE_Service_Repository_Iterator;enum {DEFAULT_SIZE = 50};ACE_Service_Repository (void);ACE_Service_Repository (int size);static ACE_Service_Repository *instance ( int size = ACE_Service_Repository::DEFAULT_SIZE );static ACE_Service_Repository *instance ( ACE_Service_Repository * );static void close_singleton (void);int open (int size = DEFAULT_SIZE);~ACE_Service_Repository (void);int close (void);int insert (const ACE_Service_Type *);int find ( const ASYS_TCHAR name[], const ACE_Service_Type **srp = 0, int ignore_suspended = 1 );int remove (const ASYS_TCHAR[]);int resume (const ASYS_TCHAR[], const ACE_Service_Type ** = 0);int suspend (const ASYS_TCHAR[], const ACE_Service_Type ** = 0);int current_size (void);int total_size (void);void dump (void) const;ACE_ALLOC_HOOK_DECLARE;private:int find_i ( const ASYS_TCHAR service_name[], const ACE_Service_Type ** = 0, int ignore_suspended = 1 );const ACE_Service_Type **service_vector_;int current_size_;int total_size_;static ACE_Service_Repository *svc_rep_;static int delete_svc_rep_;ACE_Thread_Mutex lock_;};
ACE_Service_Types *'s.
int insert (const ACE_Service_Type *);
int find (
const ASYS_TCHAR name[],
const ACE_Service_Type **srp = 0,
int ignore_suspended = 1
);
name in the table. If ignore_suspended
is set then only consider services marked as resumed. If the
caller wants the located entry, pass back a pointer to the
located entry via srp. If name is not found, -1 is returned.
If name is found, but it is suspended and the caller wants to
ignore suspended services a -2 is returned.
int remove (const ASYS_TCHAR[]);
int resume (const ASYS_TCHAR[], const ACE_Service_Type ** = 0);
int suspend (const ASYS_TCHAR[], const ACE_Service_Type ** = 0);
int current_size (void);
int total_size (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;