1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
// $Id: CCM_App.cpp 91671 2010-09-08 18:39:23Z johnnyw $
#define ACE_BUILD_SVC_DLL
#include "ace/Stream.h"
#include "ace/Task.h"
#include "ace/Module.h"
#include "ace/svc_export.h"
typedef ACE_Task<ACE_SYNCH> MT_Task;
typedef ACE_Stream<ACE_SYNCH> MT_Stream;
typedef ACE_Module<ACE_SYNCH> MT_Module;
class ACE_Svc_Export Test_Task : public MT_Task
{
public:
//FUZZ: disable check_for_lack_ACE_OS
virtual int open (void *);
virtual int close (u_long);
//FUZZ: enable check_for_lack_ACE_OS
virtual int init (int, ACE_TCHAR *[]);
virtual int fini (void);
virtual int suspend (void);
virtual int resume (void);
};
int
Test_Task::open (void *)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("opening %s\n"),
this->name () ? this->name () : ACE_TEXT ("task")));
return 0;
}
int
Test_Task::close (u_long)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("closing %s\n"),
this->name () ? this->name () : ACE_TEXT ("task")));
return 0;
}
int
Test_Task::suspend (void)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("suspending in %s\n"),
this->name () ? this->name () : ACE_TEXT ("task")));
return 0;
}
int
Test_Task::resume (void)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("resuming in %s\n"),
this->name () ? this->name () : ACE_TEXT ("task")));
return 0;
}
int
Test_Task::init (int, ACE_TCHAR *[])
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("initializing %s\n"),
this->name () ? this->name () : ACE_TEXT ("task")));
return 0;
}
int
Test_Task::fini (void)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("finalizing %s (%@)\n"),
this->name () ? this->name () : ACE_TEXT ("task"),
this));
return 0;
}
// Factories used to control configuration.
ACE_SVC_FACTORY_DECLARE (Test_Task)
ACE_SVC_FACTORY_DEFINE (Test_Task)
// Dynamically linked functions used to control configuration.
extern "C" ACE_Svc_Export MT_Stream *make_stream (void);
extern "C" ACE_Svc_Export MT_Module *make_da (void);
extern "C" ACE_Svc_Export MT_Module *make_ea (void);
extern "C" ACE_Svc_Export MT_Module *make_mr (void);
MT_Stream *
make_stream (void)
{
return new MT_Stream;
}
MT_Module *
make_da (void)
{
return new MT_Module (ACE_TEXT ("Device_Adapter"),
new Test_Task, new Test_Task);
}
MT_Module *
make_ea (void)
{
return new MT_Module (ACE_TEXT ("Event_Analyzer"),
new Test_Task, new Test_Task);
}
MT_Module *
make_mr (void)
{
return new MT_Module (ACE_TEXT ("Multicast_Router"),
new Test_Task, new Test_Task);
}
|