[beast/devel: 50/77] BSE: remove Birnet/Sfi Msg uses



commit 7c5dbd0e1afdbe47e2d9f3bbf5e284207afa3d2e
Author: Tim Janik <timj gnu org>
Date:   Thu Apr 11 02:06:34 2013 +0200

    BSE: remove Birnet/Sfi Msg uses

 bse/bsebasics.idl       |   25 ----------
 bse/bseenginemaster.cc  |    1 -
 bse/bsejanitor.proc     |   32 +++++++++----
 bse/bsemain.cc          |  117 -----------------------------------------------
 bse/bsemain.hh          |    3 -
 bse/bsesequencer.cc     |    1 -
 bse/bseserver.cc        |   44 +-----------------
 bse/bseserver.hh        |   13 -----
 bse/tests/loophandle.cc |    1 -
 9 files changed, 24 insertions(+), 213 deletions(-)
---
diff --git a/bse/bsebasics.idl b/bse/bsebasics.idl
index c03ea69..8b3d83f 100644
--- a/bse/bsebasics.idl
+++ b/bse/bsebasics.idl
@@ -646,31 +646,6 @@ record SampleFileInfo {
   Int           error   = SfiInt ("BseErrorType", "", 0, 0, G_MAXINT, 0, STANDARD); // FIXME: use 
BseErrorType here
 };
 interface Janitor;
-/* user messages */
-enum MsgType {
-  MSG_NONE = 0,
-  MSG_ALWAYS,
-  MSG_ERROR,
-  MSG_WARNING,
-  MSG_SCRIPT,
-  MSG_INFO,
-  MSG_DIAG,
-  MSG_DEBUG
-};
-record Message {
-  String        log_domain;
-  MsgType       type;
-  String        ident;
-  String        label;
-  String        title;
-  String        primary;
-  String        secondary;
-  String        details;
-  String        config_check;
-  Janitor       janitor;
-  String        process;
-  Int           pid;
-};
 
 // == BSE Global Config ==
 Const DEFAULT_AUTHOR  = "\357\277\271\357\277\272{{bse.idl/default-author}}\357\277\273";
diff --git a/bse/bseenginemaster.cc b/bse/bseenginemaster.cc
index 3dab8ef..24f79f6 100644
--- a/bse/bseenginemaster.cc
+++ b/bse/bseenginemaster.cc
@@ -1056,7 +1056,6 @@ void
 MasterThread::master_thread()
 {
   Bse::TaskRegistry::add ("DSP #1", Rapicorn::ThisThread::process_pid(), Rapicorn::ThisThread::thread_pid());
-  bse_message_setup_thread_handler ();
 
   /* assert pollfd equality, since we're simply casting structures */
   BIRNET_STATIC_ASSERT (sizeof (struct pollfd) == sizeof (GPollFD));
diff --git a/bse/bsejanitor.proc b/bse/bsejanitor.proc
index cfd81e2..bccbf9e 100644
--- a/bse/bsejanitor.proc
+++ b/bse/bsejanitor.proc
@@ -305,6 +305,9 @@ PROCEDURE (bse-script-send-message, "Script/Message") {
 {
   /* extract parameter values */
   BseJanitor *janitor = bse_janitor_get_current();
+  if (!BSE_IS_JANITOR (janitor) || !janitor->port || janitor->port_closed)
+    return BSE_ERROR_PROC_EXECUTION;
+
   const gchar *domain = sfi_value_get_string (in_values++);
   const gchar *mtype  = sfi_value_get_string (in_values++);
   const gchar *text0  = sfi_value_get_string (in_values++);
@@ -312,16 +315,27 @@ PROCEDURE (bse-script-send-message, "Script/Message") {
   const gchar *text2  = sfi_value_get_string (in_values++);
   const gchar *text3  = sfi_value_get_string (in_values++);
   const gchar *check  = sfi_value_get_string (in_values++);
-  SfiMsgType type  = mtype ? sfi_msg_lookup_type (mtype) : SfiMsgType (0);
-  /* check parameters */
-  if (!mtype || !(text1 || text2))
+
+  Bse::printerr ("FIXME: mtype=%s\n", mtype);
+  if (text0)
+    {
+      using namespace Bse;
+      UserMessage umsg;
+      umsg.type = Bse::WARNING;
+      umsg.title = text0;
+      if (text1)
+        umsg.text1 = text1;
+      if (text2)
+        umsg.text2 = text2;
+      if (text3)
+        umsg.text3 = text3;
+      if (check && check[0])
+        umsg.label = check;
+      ServerImpl::instance().send_user_message (umsg);
+      return BSE_ERROR_NONE;
+    }
+  else
     return BSE_ERROR_PROC_PARAM_INVAL;
-  /* check execution context */
-  if (!BSE_IS_JANITOR (janitor) || !janitor->port || janitor->port_closed)
-    return BSE_ERROR_PROC_EXECUTION;
-  /* action */
-  bse_server_message (bse_server_get (), domain, BseMsgType (type), text0, text1, text2, text3, check, 
janitor, NULL, janitor->port->remote_pid);
-  return BSE_ERROR_NONE;
 }
 PROCEDURE (bse-script-quit, "Script/Quit") {
   HELP  = "Exit a script succesfully (server side).";
diff --git a/bse/bsemain.cc b/bse/bsemain.cc
index d3227d6..6f4583d 100644
--- a/bse/bsemain.cc
+++ b/bse/bsemain.cc
@@ -184,7 +184,6 @@ bse_init_core (void)
 {
   /* global threading things */
   bse_main_context = g_main_context_new ();
-  bse_message_setup_thread_handler();
   /* initialize basic components */
   bse_globals_init ();
   _bse_init_signal();
@@ -240,8 +239,6 @@ server_registration (SfiProxy            server,
     single_thread_registration_done = TRUE;
   else
     {
-      //gchar *base = strrchr (what, '/');
-      //g_message (data, "%s", base ? base + 1 : what);
       if (error && error[0])
         sfi_diag ("failed to register \"%s\": %s", what, error);
     }
@@ -351,88 +348,6 @@ bse_main_loop (Rapicorn::AsyncBlockingQueue<int> *init_queue)
   Bse::TaskRegistry::remove (Rapicorn::ThisThread::thread_pid());
 }
 
-static gboolean
-core_thread_send_message_async (gpointer data)
-{
-  BseMessage *umsg = (BseMessage*) data;
-  bse_server_send_message (bse_server_get(), umsg);
-  bse_message_free (umsg);
-  return FALSE;
-}
-
-/**
- * BSE log handler, suitable for sfi_msg_set_thread_handler().
- * This function is MT-safe and may be called from any thread.
- */
-static void
-bse_msg_handler (const char              *domain,
-                 Msg::Type                mtype,
-                 const vector<Msg::Part> &parts)
-{
-  /* this function is called from multiple threads */
-  BIRNET_STATIC_ASSERT (BSE_MSG_NONE    == (int) Birnet::Msg::NONE);
-  BIRNET_STATIC_ASSERT (BSE_MSG_ALWAYS  == (int) Birnet::Msg::ALWAYS);
-  BIRNET_STATIC_ASSERT (BSE_MSG_ERROR   == (int) Birnet::Msg::ERROR);
-  BIRNET_STATIC_ASSERT (BSE_MSG_WARNING == (int) Birnet::Msg::WARNING);
-  BIRNET_STATIC_ASSERT (BSE_MSG_SCRIPT  == (int) Birnet::Msg::SCRIPT);
-  BIRNET_STATIC_ASSERT (BSE_MSG_INFO    == (int) Birnet::Msg::INFO);
-  BIRNET_STATIC_ASSERT (BSE_MSG_DIAG    == (int) Birnet::Msg::DIAG);
-  BIRNET_STATIC_ASSERT (BSE_MSG_DEBUG   == (int) Birnet::Msg::DEBUG);
-  String title, primary, secondary, details, checkmsg;
-  for (uint i = 0; i < parts.size(); i++)
-    switch (parts[i].ptype)
-      {
-      case '0': title     += (title.size()     ? "\n" : "") + parts[i].string; break;
-      case '1': primary   += (primary.size()   ? "\n" : "") + parts[i].string; break;
-      case '2': secondary += (secondary.size() ? "\n" : "") + parts[i].string; break;
-      case '3': details   += (details.size()   ? "\n" : "") + parts[i].string; break;
-      case 'c': checkmsg  += (checkmsg.size()  ? "\n" : "") + parts[i].string; break;
-      }
-  if (!primary.size() && !secondary.size())
-    return;
-  BseMessage *umsg = bse_message_new();
-  g_free (umsg->log_domain);
-  umsg->log_domain = g_strdup (domain);
-  umsg->type = BseMsgType (mtype);
-  g_free (umsg->title);
-  umsg->title = g_strdup (title.c_str());
-  g_free (umsg->primary);
-  umsg->primary = g_strdup (primary.c_str());
-  g_free (umsg->secondary);
-  umsg->secondary = g_strdup (secondary.c_str());
-  g_free (umsg->details);
-  umsg->details = g_strdup (details.c_str());
-  g_free (umsg->config_check);
-  umsg->config_check = g_strdup (checkmsg.c_str());
-  umsg->janitor = NULL;
-  g_free (umsg->process);
-  umsg->process = g_strdup (Rapicorn::ThisThread::name().c_str());
-  umsg->pid = Rapicorn::ThisThread::thread_pid();
-  /* queue an idle handler in the BSE Core thread */
-  bse_idle_next (core_thread_send_message_async, umsg);
-}
-
-void
-bse_message_setup_thread_handler (void)
-{
-  Birnet::Msg::set_thread_handler (bse_msg_handler);
-}
-void
-bse_message_to_default_handler (const BseMessage *msg)
-{
-  vector<Msg::Part> parts;
-  if (msg->title)
-    parts.push_back (Msg::Title (String (msg->title)));
-  if (msg->primary)
-    parts.push_back (Msg::Primary (String (msg->primary)));
-  if (msg->secondary)
-    parts.push_back (Msg::Secondary (String (msg->secondary)));
-  if (msg->details)
-    parts.push_back (Msg::Detail (String (msg->details)));
-  if (msg->config_check)
-    parts.push_back (Msg::Check (String (msg->config_check)));
-  Msg::default_handler (msg->log_domain, Msg::Type (msg->type), parts);
-}
 static guint
 get_n_processors (void)
 {
@@ -454,12 +369,6 @@ bse_async_parse_args (gint           *argc_p,
   /* this function is called before the main BSE thread is started,
    * so we can't use any BSE functions yet.
    */
-  gchar *envar = getenv ("BSE_DEBUG");
-  if (envar)
-    sfi_msg_allow (envar);
-  envar = getenv ("BSE_NO_DEBUG");
-  if (envar)
-    sfi_msg_deny (envar);
   guint i;
   for (i = 1; i < argc; i++)
     {
@@ -470,32 +379,6 @@ bse_async_parse_args (gint           *argc_p,
          g_log_set_always_fatal (fatal_mask);
          argv[i] = NULL;
        }
-      else if (strcmp ("--bse-debug", argv[i]) == 0 ||
-              strncmp ("--bse-debug=", argv[i], 12) == 0)
-       {
-         gchar *equal = argv[i] + 11;
-         if (*equal == '=')
-            sfi_msg_allow (equal + 1);
-         else if (i + 1 < argc)
-           {
-             argv[i++] = NULL;
-             sfi_msg_allow (argv[i]);
-           }
-         argv[i] = NULL;
-       }
-      else if (strcmp ("--bse-no-debug", argv[i]) == 0 ||
-              strncmp ("--bse-no-debug=", argv[i], 15) == 0)
-       {
-         gchar *equal = argv[i] + 14;
-         if (*equal == '=')
-            sfi_msg_deny (equal + 1);
-         else if (i + 1 < argc)
-           {
-             argv[i++] = NULL;
-             sfi_msg_deny (argv[i]);
-           }
-         argv[i] = NULL;
-       }
       else if (strcmp ("--bse-latency", argv[i]) == 0 ||
               strncmp ("--bse-latency=", argv[i], 14) == 0)
        {
diff --git a/bse/bsemain.hh b/bse/bsemain.hh
index e1e1444..ebe2be3 100644
--- a/bse/bsemain.hh
+++ b/bse/bsemain.hh
@@ -23,9 +23,6 @@ void          bse_init_test           (gint           *argc,
                                         SfiInitValue    values[]);
 void            bse_main_wakeup         ();
 
-/* messaging */
-void            bse_message_setup_thread_handler (void);
-void            bse_message_to_default_handler   (const BseMessage *msg);
 /* --- global macros --- */
 #define        BSE_THREADS_ENTER()                     // bse_main_global_lock ()
 #define        BSE_THREADS_LEAVE()                     // bse_main_global_unlock ()
diff --git a/bse/bsesequencer.cc b/bse/bsesequencer.cc
index a526f2d..5446d26 100644
--- a/bse/bsesequencer.cc
+++ b/bse/bsesequencer.cc
@@ -329,7 +329,6 @@ Sequencer::sequencer_thread ()
   sequencer_thread_self = &ThreadInfo::self();
   SDEBUG ("thrdstrt: now=%llu", Bse::TickStamp::current());
   Bse::TickStampWakeupP wakeup = Bse::TickStamp::create_wakeup ([&]() { this->wakeup(); });
-  bse_message_setup_thread_handler();
   BSE_SEQUENCER_LOCK();
   do
     {
diff --git a/bse/bseserver.cc b/bse/bseserver.cc
index e062c4f..ff1207e 100644
--- a/bse/bseserver.cc
+++ b/bse/bseserver.cc
@@ -64,7 +64,6 @@ static void   engine_shutdown                 (BseServer         *server);
 /* --- variables --- */
 static GTypeClass *parent_class = NULL;
 static guint       signal_registration = 0;
-static guint       signal_message = 0;
 static guint       signal_script_start = 0;
 static guint       signal_script_error = 0;
 /* --- functions --- */
@@ -120,8 +119,6 @@ bse_server_class_init (BseServerClass *klass)
                                                     BSE_TYPE_REGISTRATION_TYPE,
                                                     G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE,
                                                     G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE);
-  signal_message = bse_object_class_add_signal (object_class, "message",
-                                                G_TYPE_NONE, 1, BSE_TYPE_MESSAGE | 
G_SIGNAL_TYPE_STATIC_SCOPE);
   signal_script_start = bse_object_class_add_signal (object_class, "script-start",
                                                     G_TYPE_NONE, 1,
                                                     BSE_TYPE_JANITOR);
@@ -689,46 +686,7 @@ bse_server_script_error (BseServer   *server,
   g_signal_emit (server, signal_script_error, 0,
                 script_name, proc_name, reason);
 }
-void
-bse_server_send_message (BseServer        *self,
-                         const BseMessage *umsg)
-{
-  g_return_if_fail (BSE_IS_SERVER (self));
-  g_return_if_fail (umsg != NULL);
-  g_signal_emit (self, signal_message, 0, umsg);
-  if (self->log_messages)
-    bse_message_to_default_handler (umsg);
-}
-void
-bse_server_message (BseServer          *server,
-                    const gchar        *log_domain,
-                    BseMsgType          msg_type,
-                    const gchar        *title,
-                    const gchar        *primary,
-                    const gchar        *secondary,
-                    const gchar        *details,
-                    const gchar        *config_blurb,
-                    BseJanitor         *janitor,
-                    const gchar        *process_name,
-                    gint                pid)
-{
-  g_return_if_fail (BSE_IS_SERVER (server));
-  g_return_if_fail (primary != NULL);
-  BseMessage umsg = { 0, };
-  umsg.log_domain = (char*) log_domain;
-  umsg.type = msg_type;
-  umsg.ident = (char*) sfi_msg_type_ident (SfiMsgType (msg_type));
-  umsg.label = (char*) sfi_msg_type_label (SfiMsgType (msg_type));
-  umsg.title = (char*) title;
-  umsg.primary = (char*) primary;
-  umsg.secondary = (char*) secondary;
-  umsg.details = (char*) details;
-  umsg.config_check = (char*) config_blurb;
-  umsg.janitor = janitor;
-  umsg.process = (char*) process_name;
-  umsg.pid = pid;
-  bse_server_send_message (server, &umsg);
-}
+
 void
 bse_server_add_io_watch (BseServer      *server,
                         gint            fd,
diff --git a/bse/bseserver.hh b/bse/bseserver.hh
index 2560ecf..0864fc9 100644
--- a/bse/bseserver.hh
+++ b/bse/bseserver.hh
@@ -83,19 +83,6 @@ void         bse_server_script_error                 (BseServer          *server,
                                                         const gchar        *script_name,
                                                         const gchar        *proc_name,
                                                         const gchar        *reason);
-void           bse_server_send_message                 (BseServer          *server,
-                                                         const BseMessage   *umsg);
-void           bse_server_message                      (BseServer          *server,
-                                                         const gchar        *log_domain,
-                                                         BseMsgType          msg_type,
-                                                         const gchar        *title,
-                                                         const gchar        *primary,
-                                                         const gchar        *secondary,
-                                                         const gchar        *details,
-                                                         const gchar        *config_blurb,
-                                                         BseJanitor         *janitor,
-                                                         const gchar        *process_name,
-                                                         gint                pid);
 BseErrorType   bse_server_run_remote                   (BseServer          *server,
                                                         const gchar        *process_name,
                                                         SfiRing            *params,
diff --git a/bse/tests/loophandle.cc b/bse/tests/loophandle.cc
index 234ca0a..e1cac9c 100644
--- a/bse/tests/loophandle.cc
+++ b/bse/tests/loophandle.cc
@@ -169,7 +169,6 @@ main (int argc, char **argv)
     values[i] = 1.0 - rand() / (0.5 * RAND_MAX);
   /* init bse */
   bse_init_test (&argc, &argv, NULL);
-  sfi_msg_allow ("misc");
   /* test loophandle against the reference implementation */
   GslDataHandle *mem_handle = gsl_data_handle_new_mem (n_channels, 32, 44100, 440, n_values, values, NULL /* 
don't free */);
   check_loop (mem_handle, 0, n_values - 1);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]