[beast/devel: 50/77] BSE: remove Birnet/Sfi Msg uses
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast/devel: 50/77] BSE: remove Birnet/Sfi Msg uses
- Date: Wed, 1 May 2013 17:31:32 +0000 (UTC)
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]