4 * ROX-Filer, filer for the ROX desktop project
5 * By Thomas Leonard, <tal197@users.sourceforge.net>.
8 /* global.h is included by most of the other source files, just after
9 * including config.h and the system header files, but before any other
10 * ROX-Filer header files.
15 /* ROX-Filer's unique namespace (for use in SOAP messages) */
16 #define ROX_NS "http://rox.sourceforge.net/SOAP/ROX-Filer"
18 #define SOAP_ENV_NS "http://www.w3.org/2001/06/soap-envelope"
20 /* For debugging... */
21 #define SHOW(var) (g_print("[ " #var " = '%s' ]\n", var))
23 /* We typedef various pointers here to avoid creating unnecessary
24 * dependencies on the other header files.
27 /* Each filer window has one of these all to itself */
28 typedef struct _FilerWindow FilerWindow
;
30 /* There is one Directory object per cached disk directory inode number.
31 * Multiple FilerWindows may share a single directory. Directories
32 * are cached, so a Directories may exist without any filer windows
33 * referencing it at all.
35 typedef struct _Directory Directory
;
37 /* Each item in a directory has a DirItem. The contains information from
38 * stat()ing the file, plus a few other bits. There may be several of these
39 * for a single file, if it appears (hard-linked) in several directories.
41 typedef struct _DirItem DirItem
;
43 /* This contains pixmaps and masks for an image, and (sometimes) a
46 typedef struct _MaskedPixmap MaskedPixmap
;
48 /* Each MIME type (eg 'text/plain') has one of these. It contains
49 * a link to the image and the type's name (used so that the image can
50 * be refreshed, amoung other things).
52 typedef struct _MIME_type MIME_type
;
54 /* There will be one of these if the pinboard is in use. It contains
55 * the name of the pinboard and links to the pinned items inside.
57 typedef struct _Pinboard Pinboard
;
59 /* Each icon on the pinboard or a panel has an Icon structure. It contains
60 * the name and path of the icon, as well as its DirItem.
62 typedef struct _Icon Icon
;
64 /* There is one of these for each panel window open. Panels work rather
65 * like little pinboards, but with a more rigid layout.
67 typedef struct _Panel Panel
;
71 /* For very old versions of libxml... */
72 #ifndef xmlChildrenNode
73 # define xmlChildrenNode childs