You should have received a copy of the GNU Lesser General Public
License along with the m17n library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
02111-1307, USA. */
#ifndef _M17N_CORE_H_
#define M17NLIB_MAJOR_VERSION 1
#define M17NLIB_MINOR_VERSION 3
-#define M17NLIB_PATCH_LEVEL 1
-#define M17NLIB_VERSION_NAME "1.3.1"
+#define M17NLIB_PATCH_LEVEL 5
+#define M17NLIB_VERSION_NAME "1.3.5"
extern void m17n_init_core (void);
#define M17N_INIT() m17n_init_core ()
/* Decrement the reference count of managed object OBJECT. */
extern int m17n_object_unref (void *object);
+/*** @ingroup m17nCore */
+/***en
+ @brief Generic function type.
+
+ #M17NFunc is a generic function type for setting a function
+ pointer as a value of #MSymbol property or #MPlist. */
+
+/***en
+ @brief ÈÆ´Ø¿ô·¿.
+
+ #M17NFunc ¤ÏÈÆ´Ø¿ô·¿¤Ç¤¢¤ê¡¢´Ø¿ô¥Ý¥¤¥ó¥¿¤ò #MSymbol ¥×¥í¥Ñ¥Æ¥£¤ä
+ #MPlist ¤ÎÃͤȤ·¤ÆÀßÄꤹ¤ëºÝÍѤ¤¤ë¡£ */
+
+
+/***
+ @seealso
+ msymbol_put_func (), msymbol_get_func (),
+ mplist_put_func (), mplist_get_func (). */
+
+typedef void (*M17NFunc) (void);
+
+/*=*/
+
+/*** @ingroup m17nCore */
+/***en
+ @brief Wrapper for a generic function type.
+
+ The macro M17N_FUNC () casts a function to the type #M17NFunc. */
+
+/***ja
+ @brief ÈÆ´Ø¿ô·¿¤Ø¤Î¥é¥Ã¥Ñ.
+
+ ¥Þ¥¯¥í M17N_FUNC () ¤Ï´Ø¿ô¤ò #M17NFunc ·¿¤Ø¥¥ã¥¹¥È¤¹¤ë¡£ */
+
+
+#define M17N_FUNC(func) ((M17NFunc) (func))
+
/*=*/
/* (C2) Symbol handling */
/*** Return KEY property value of SYMBOL. */
extern void *msymbol_get (MSymbol symbol, MSymbol key);
+extern int msymbol_put_func (MSymbol symbol, MSymbol key, M17NFunc func);
+
+extern M17NFunc msymbol_get_func (MSymbol symbol, MSymbol key);
+
/*
* (2-1) Property List
*/
extern void *mplist_get (MPlist *plist, MSymbol key);
+extern MPlist *mplist_put_func (MPlist *plist, MSymbol key, M17NFunc func);
+
+extern M17NFunc mplist_get_func (MPlist *plist, MSymbol key);
+
extern MPlist *mplist_find_by_key (MPlist *plist, MSymbol key);
extern MPlist *mplist_find_by_value (MPlist *plist, void *val);
/*=*/
/*** @} */
+extern MSymbol Mlanguage;
+
/*
* (5-2) Functions to manipulate M-texts. They correspond to string
* manipulating functions in libc.
/***en
@brief Flag bits to control text property.
- The mtext_property () funciton accepts logical OR of these flag
+ The mtext_property () function accepts logical OR of these flag
bits as an argument. They control the behaviour of the created
text property as described in the documentation of each flag
bit. */