Back to index

im-sdk  12.3.91
Classes | Typedefs | Functions
iiimpDL.h File Reference
#include <X11/Xlib.h>
#include "guiIM.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  _XIMDLRec


typedef struct _XIMDLRec XIMDLRec


XIMDLRecOpenDynamicObject (XLCd lcd)
void CloseDynamicObject (XIMDLRec *dl_object)

Class Documentation

struct _XIMDLRec

Definition at line 48 of file iiimpDL.h.

Class Members
ChangeLookupProc change_lookup
ChangePreeditProc change_preedit
ChangeStatusProc change_status
void * dl_module
RegisterForwardEventProc register_forwardevent
XIMStyles * styles

Typedef Documentation

typedef struct _XIMDLRec XIMDLRec

Function Documentation

void CloseDynamicObject ( XIMDLRec dl_object)

Definition at line 191 of file iiimpDL.c.

  if (dl_object->styles) Xfree(dl_object->styles);

Here is the caller graph for this function:

Definition at line 133 of file iiimpDL.c.

  void *module = NULL;
  XIMDLRec *dl_object = (XIMDLRec*)NULL;
  DIR *dir = NULL;
  struct dirent *entry;
  char *lc_name = lcd->core->name;
  char *filename;
  const size_t xlclocaledir_len = strlen (XLOCALEDIR);

  dir = opendir (XLOCALEDIR);
  if (dir == NULL)
    return NULL;

  while ((entry = readdir (dir)))
      while (entry
            && (0 == strcmp (entry->d_name, ".") ||
               0 == strcmp (entry->d_name, "..")))
       entry = readdir (dir);
      if (entry && (filename = has_so_suffix (entry->d_name)) != NULL)
         size_t len = xlclocaledir_len + strlen (filename) + 2;
         char *path = Xmalloc (len);
         strcpy (path, XLOCALEDIR);
         strcat (path, "/");
         strcat (path, filename);
         module = dlopen((char*)path, RTLD_LAZY);
         XFree (path);
         if (module)
             dl_object = (XIMDLRec*)Xmalloc(sizeof(XIMDLRec));
             dl_object->dl_module = module;
             dl_object->styles = GetInputStyles(lc_name, module);
             dl_object->change_status =
             dl_object->change_preedit =
             dl_object->change_lookup =
             dl_object->register_forwardevent =
      if (dl_object)

  if (dir)

  return dl_object;

Here is the call graph for this function:

Here is the caller graph for this function: