summaryrefslogtreecommitdiff
path: root/apps/Orbix-Examples/Logger/loggerS.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'apps/Orbix-Examples/Logger/loggerS.cpp')
-rw-r--r--apps/Orbix-Examples/Logger/loggerS.cpp141
1 files changed, 141 insertions, 0 deletions
diff --git a/apps/Orbix-Examples/Logger/loggerS.cpp b/apps/Orbix-Examples/Logger/loggerS.cpp
new file mode 100644
index 00000000000..b1210683886
--- /dev/null
+++ b/apps/Orbix-Examples/Logger/loggerS.cpp
@@ -0,0 +1,141 @@
+
+// @(#)loggerS.cpp 1.1 10/18/96
+
+#include "logger.hh"
+
+
+#define logger_dispatch_impl
+
+unsigned char logger_dispatch::dispatch (CORBA::Request &IT_r,
+ unsigned char IT_isTarget, void *IT_pp) {
+ if (!IT_pp)
+ IT_pp = m_obj;
+ const char *IT_s = IT_r.getOperation ();
+ if (!strcmp(IT_s,"log")) {
+ CORBA::Environment IT_env (IT_r);
+ CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
+ if (!IT_r.tcAssert ("\
+Ro~log~+log_rec{R~logger::Log_Record~type{E~logger::Log_Priority~LM_MESSAGE,LM_DEBUG,LM_WARNING,LM_ERROR,LM_EMERG},time{l},app_id{l},host_addr{l},msg_data{S{c},0}},>{v},O{}\
+"))
+ return 1;
+ logger::Log_Record log_rec;
+ log_rec.decodeOp (IT_r);
+
+ if (IT_f && !IT_r.isException (IT_env))
+ IT_f->inRequestPostM (IT_r, IT_env);
+ if (!IT_r.isException (IT_env))
+ ((logger*)IT_pp)->log ( log_rec, IT_env);
+
+ IT_r.replyNoResults (CORBA::Flags(CORBA::INV_NO_RESPONSE),IT_env);
+ return 1;
+ }
+
+ else if (!strcmp (IT_s,"_get_verbose")) {
+ char verbose;
+ CORBA::Environment IT_env (IT_r);
+ CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
+ if (!IT_r.tcAssert ("\
+Ro~_get_verbose~>{c},N{}\
+"))
+ return 1;
+ if (IT_f)
+ IT_f->inRequestPostM (IT_r, IT_env);
+ if (!IT_r.isException (IT_env))
+ verbose = ((logger*)IT_pp)->verbose(IT_env);
+
+ if (!IT_r.isException (IT_env)) {
+ if (!IT_r.convertToReply ("\
+c\
+", IT_env)) return 1;
+ IT_r << verbose;
+ }
+ else IT_r.makeSystemException (IT_env);
+
+ return 1;
+ }
+ else if (!strcmp (IT_s,"_set_verbose")) {
+ CORBA::Environment IT_env (IT_r);
+ CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
+ if (IT_r.tcAssert ("\
+Ro~_set_verbose~+{c},>{v},N{}\
+")) {
+ char verbose;
+ IT_r >> verbose;
+ if (IT_f && !IT_r.isException (IT_env))
+ IT_f->inRequestPostM (IT_r, IT_env);
+ if (!IT_r.isException (IT_env))
+ ((logger*)IT_pp)->verbose(verbose, IT_env);
+ }
+ IT_r.replyNoResults (IT_env);
+ return 1;
+ }
+
+ else if (IT_isTarget)
+ IT_r.makeRuntimeException2 ();
+
+ return 0;
+}
+
+#define profile_logger_dispatch_impl
+
+unsigned char profile_logger_dispatch::dispatch (CORBA::Request &IT_r,
+ unsigned char IT_isTarget, void *IT_pp) {
+ if (!IT_pp)
+ IT_pp = m_obj;
+ const char *IT_s = IT_r.getOperation ();
+ if (!strcmp(IT_s,"start_timer")) {
+ CORBA::Environment IT_env (IT_r);
+ CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
+ if (!IT_r.tcAssert ("\
+Ro~start_timer~>{v},N{}\
+"))
+ return 1;
+
+ if (IT_f && !IT_r.isException (IT_env))
+ IT_f->inRequestPostM (IT_r, IT_env);
+ if (!IT_r.isException (IT_env))
+ ((profile_logger*)IT_pp)->start_timer (IT_env);
+
+ IT_r.replyNoResults (IT_env);
+ return 1;
+ }
+
+ else if (!strcmp(IT_s,"stop_timer")) {
+ CORBA::Environment IT_env (IT_r);
+ CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
+ if (!IT_r.tcAssert ("\
+Ro~stop_timer~-et{R~profile_logger::Elapsed_Time~real_time{d},user_time{d},system_time{d}},>{v},N{}\
+"))
+ return 1;
+ profile_logger::Elapsed_Time et;
+
+ if (IT_f && !IT_r.isException (IT_env))
+ IT_f->inRequestPostM (IT_r, IT_env);
+ if (!IT_r.isException (IT_env))
+ ((profile_logger*)IT_pp)->stop_timer ( et, IT_env);
+
+
+ if (!IT_r.isException (IT_env)) {
+ if (!IT_r.convertToReply ("\
+v\
+", IT_env)) return 1;
+ et.encodeOp (IT_r);
+ }
+
+ else IT_r.makeSystemException (IT_env);
+ return 1;
+ }
+
+ else if (logger_dispatch::dispatch (IT_r, 0,
+ (logger*)((profile_logger*)IT_pp))) {
+ return 1;
+ }
+
+ else if (IT_isTarget)
+ IT_r.makeRuntimeException2 ();
+
+ return 0;
+}
+
+#include "loggerC.cpp"
+