Author: yamakenz
Date: Mon Jan 14 09:03:02 2008
New Revision: 5126

Modified:
  trunk/doc/COMPATIBILITY
  trunk/uim/uim-notify.c
  trunk/uim/uim-notify.h
  trunk/uim/uim-util.c

Log:
* uim/uim-notify.h
 - Fix the copyright header
 - Change include guard style to uim standard (although the style is
   not best, uniformity is important)
 - (struct uim_notify_desc_): Name the struct in addition to the
   typedef
 - (uim_notify_plugin_get_desc, uim_notify_get_desc,
   uim_notify_plugin_get_desc, uim_notify_stderr_get_desc): Make
   return type const
 - (uim_notify_plugin_load): Remove orphaned prototype
 - (uim_notify_stderr_init, uim_notify_stderr_quit,
   uim_notify_stderr_info, uim_notify_stderr_fatal): Removed since
   unexported
* uim/uim-notify.c
 - (uim_notify_load_stderr):
   * Add prototype
   * Change arg type to void
 - (notify_desc): Follow the type change of uim_notify_desc
 - (uim_notify_stderr_desc):
   * Ditto
   * Unify storage definition
 - (uim_notify_load, uim_notify_get_desc_func): Follow the function
   type change
 - (uim_notify_get_desc, uim_notify_stderr_get_desc): Make return
   type const
 - (uim_notify_stderr_init, uim_notify_stderr_quit,
   uim_notify_stderr_info, uim_notify_stderr_fatal): Make static
* uim/uim-util.c
 - (uim_scm_notify_get_plugins): Follow the type change of
   uim_notify_desc


Modified: trunk/doc/COMPATIBILITY
==============================================================================
--- trunk/doc/COMPATIBILITY     (original)
+++ trunk/doc/COMPATIBILITY     Mon Jan 14 09:03:02 2008
@@ -61,7 +61,7 @@
Affects: bridge developers
Updates: C API, libuim ABI
Version: 1.5.0
-Revision: ac5069
+Revision: ac5069, ac5071
Date: 2007-12-29
Modifier: Etsushi, YamaKen
Related: bug #13622

Modified: trunk/uim/uim-notify.c
==============================================================================
--- trunk/uim/uim-notify.c      (original)
+++ trunk/uim/uim-notify.c      Mon Jan 14 09:03:02 2008
@@ -56,19 +56,31 @@
  ((void (*)(void))(uintptr_t)dlsym((handle), (symbol)))
#endif

-static uim_notify_desc uim_notify_stderr_desc;
+static void uim_notify_load_stderr(void);

-static uim_notify_desc* (*uim_notify_get_desc_func)(void) = 
uim_notify_stderr_get_desc;
+/* builtin notify module */
+static int uim_notify_stderr_init(void);
+static void uim_notify_stderr_quit(void);
+static int uim_notify_stderr_info(const char *);
+static int uim_notify_stderr_fatal(const char *);
+
+
+static const uim_notify_desc uim_notify_stderr_desc = {
+  "stderr",
+  "Standard Error output",
+};
+
+static const uim_notify_desc* (*uim_notify_get_desc_func)(void) = 
uim_notify_stderr_get_desc;
static int (*uim_notify_init_func)(void) = uim_notify_stderr_init;
static void (*uim_notify_quit_func)(void) = uim_notify_stderr_quit;
static int (*uim_notify_info_func)(const char *) = uim_notify_stderr_info;
static int (*uim_notify_fatal_func)(const char *) = uim_notify_stderr_fatal;

static void *notify_dlhandle = NULL;
-static uim_notify_desc* notify_desc = &uim_notify_stderr_desc;
+static const uim_notify_desc* notify_desc = &uim_notify_stderr_desc;

static void
-uim_notify_load_stderr()
+uim_notify_load_stderr(void)
{
  notify_desc = &uim_notify_stderr_desc;
  uim_notify_init_func  = uim_notify_stderr_init;
@@ -110,7 +122,7 @@
      uim_notify_load_stderr();
      return 0;
    }
-    uim_notify_get_desc_func = (uim_notify_desc* (*)(void))dlfunc(notify_dlhandle, 
"uim_notify_plugin_get_desc");
+    uim_notify_get_desc_func = (const uim_notify_desc* (*)(void))dlfunc(notify_dlhandle, 
"uim_notify_plugin_get_desc");
    if (!uim_notify_get_desc_func) {
fprintf(stderr, "uim-notify: cannot found 'uim_notify_get_desc()' in %s\n", path);
      dlclose(notify_dlhandle);
@@ -152,7 +164,7 @@
  return 1;
}

-uim_notify_desc*
+const uim_notify_desc*
uim_notify_get_desc(void)
{
  return uim_notify_get_desc_func();
@@ -202,36 +214,31 @@
/*
 * builtin functions
 */
-static uim_notify_desc uim_notify_stderr_desc = {
-  "stderr",
-  "Standard Error output",
-};
-
-uim_notify_desc*
+const uim_notify_desc*
uim_notify_stderr_get_desc(void)
{
  return &uim_notify_stderr_desc;
}

-int
+static int
uim_notify_stderr_init(void)
{
  return 1;
}

-void
+static void
uim_notify_stderr_quit(void)
{
  return;
}

-int
+static int
uim_notify_stderr_info(const char *msg)
{
  return fprintf(stderr, "uim [Info]: %s", msg);
}

-int
+static int
uim_notify_stderr_fatal(const char *msg)
{
  return fprintf(stderr, "uim [Fatal]: %s", msg);

Modified: trunk/uim/uim-notify.h
==============================================================================
--- trunk/uim/uim-notify.h      (original)
+++ trunk/uim/uim-notify.h      Mon Jan 14 09:03:02 2008
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004 Iwata <[EMAIL PROTECTED]>
+ * Copyright (c) 2007-2008 Iwata <[EMAIL PROTECTED]>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
@@ -14,42 +14,46 @@
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

-#ifndef UIM_NOTIFY_H
-#define UIM_NOTIFY_H
+/*                         !WARNING!
+
+   This API is experimental.
+
+*/
+
+#ifndef _uim_notify_h_included_
+#define _uim_notify_h_included_

#ifdef __cplusplus
extern "C" {
#endif

-typedef struct {
-  char *name;
-  char *desc;
+typedef struct uim_notify_desc_ {
+  const char *name;
+  const char *desc;
} uim_notify_desc;

-uim_notify_desc* uim_notify_get_desc(void);
-int uim_notify_load(const char *);
+/* API for notification facility users */
int uim_notify_init(void);
void uim_notify_quit(void);
-int uim_notify_info(const char *, ...);
-int uim_notify_fatal(const char *, ...);
+int uim_notify_load(const char *name);

-uim_notify_desc* uim_notify_plugin_get_desc(void);
-int uim_notify_plugin_load(const char *);
+/* API for notification facility users */
+const uim_notify_desc* uim_notify_get_desc(void);
+int uim_notify_info(const char *msg_fmt, ...);
+int uim_notify_fatal(const char *msg_fmt, ...);
+
+/* API for pluggable notification mechanism providers */
int uim_notify_plugin_init(void);
void uim_notify_plugin_quit(void);
-int uim_notify_plugin_info(const char *);
-int uim_notify_plugin_fatal(const char *);
+const uim_notify_desc* uim_notify_plugin_get_desc(void);
+int uim_notify_plugin_info(const char *msg);
+int uim_notify_plugin_fatal(const char *msg);

/* builtin notify module */
-uim_notify_desc* uim_notify_stderr_get_desc(void);
-int uim_notify_stderr_init(void);
-void uim_notify_stderr_quit(void);
-int uim_notify_stderr_info(const char *);
-int uim_notify_stderr_fatal(const char *);
+const uim_notify_desc* uim_notify_stderr_get_desc(void);

#ifdef __cplusplus
}
#endif

-#endif
-
+#endif  /* _uim_notify_h_included_ */

Modified: trunk/uim/uim-util.c
==============================================================================
--- trunk/uim/uim-util.c        (original)
+++ trunk/uim/uim-util.c        Mon Jan 14 09:03:02 2008
@@ -298,7 +298,7 @@
  DIR *dirp;
  struct dirent *dp;
  size_t plen, slen;
-  uim_notify_desc* desc;
+  const uim_notify_desc* desc;
  void *handle;
  uim_notify_desc* (*desc_func)(void);
  char *str;

Reply via email to