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;