diff options
Diffstat (limited to 'TAO/examples/RTCORBA/Activity/Builder.h')
-rw-r--r-- | TAO/examples/RTCORBA/Activity/Builder.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/TAO/examples/RTCORBA/Activity/Builder.h b/TAO/examples/RTCORBA/Activity/Builder.h new file mode 100644 index 00000000000..114456dabeb --- /dev/null +++ b/TAO/examples/RTCORBA/Activity/Builder.h @@ -0,0 +1,80 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file Builder.h + * + * $Id$ + * + * The builder creates Tasks, Jobs, POAs. + * + * @author Pradeep Gore <pradeep@cs.wustl.edu> + */ +//============================================================================= +#ifndef BUILDER_H +#define BUILDER_H + +#include "orbsvcs/CosNamingC.h" +#include "tao/RTPortableServer/RTPortableServer.h" + +#include "ace/Service_Config.h" +#include "ace/Service_Object.h" +#include "ace/Arg_Shifter.h" +#include "activity_export.h" + +class Activity; +class Periodic_Task; +class Job_i; +class POA_Holder; + +typedef POA_Holder** POA_LIST; +typedef Periodic_Task** TASK_LIST; +typedef Job_i** JOB_LIST; + +/** + * @class Builder + * + * @brief A service object that creates Tasks, Jobs, POAs. + * + */ +class activity_Export Builder : public ACE_Service_Object +{ + public: + /// = Initialization and termination + Builder (); + ~Builder (); + + /// = Service_Object virtual method overloads. + virtual int init (int argc, char *argv[]); + virtual int fini (void); + + /// = List access + int poa_list (POA_LIST& poa_list); + int task_list (TASK_LIST& task_list); + int job_list (JOB_LIST &job_list); + + protected: + + /// Number of POA's declared + int poa_count_; + + /// The list of POA's. + POA_LIST poa_list_; + + /// Number of Tasks's declared + int task_count_; + + /// The list of Tasks. + TASK_LIST task_list_; + + /// Number of Jobs's declared + int job_count_; + + /// The list of Jobs + JOB_LIST job_list_; +}; + +ACE_STATIC_SVC_DECLARE_EXPORT (activity, Builder) + +ACE_FACTORY_DECLARE (activity, Builder) + +#endif /* BUILDER_H */ |