Main Page | Modules | File List

mbdotdesktop.h

00001 #ifndef _MBDOTDESKTOP_H_
00002 #define _MBDOTDESKTOP_H_
00003 
00004 #include <stdio.h>
00005 #include <stdlib.h>
00006 #include <string.h>
00007 #include <unistd.h>
00008 #include <locale.h>
00009 #include <ctype.h>
00010 #include <sys/types.h>
00011 #include <sys/stat.h>
00012 #include <dirent.h>
00013 
00014 #include "libmb/mbconfig.h"
00015 #include "libmb/mbutil.h"
00016 
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 
00033 typedef struct MBDotDesktop MBDotDesktop;
00034 
00035 typedef struct _mbdotdesktopfolderentry
00036 {
00037   unsigned char *name;
00038   unsigned char *icon;
00039   unsigned char *match;
00040   
00041   struct _mbdotdesktopfolderentry *parent_entry;
00042   struct _mbdotdesktopfolderentry *next_entry;
00043 
00044 } MBDotDesktopFolderEntry;
00045 
00046 
00047 typedef struct _mbdotdesktopfolders
00048 {
00049   struct _mbdotdesktopfolderentry *entries;
00050   int n_entries;
00051 
00052 } MBDotDesktopFolders;
00053 
00060 MBDotDesktop *
00061 mb_dotdesktop_new_from_file(const char *filename);
00062 
00070 unsigned char *
00071 mb_dotdesktop_get(MBDotDesktop *dd, char *key);
00072 
00079 char *
00080 mb_dotdesktop_get_filename(MBDotDesktop *dd);
00081 
00087 void
00088 mb_dotdesktop_free(MBDotDesktop *dd);
00089 
00099 char*
00100 mb_dot_desktop_icon_get_full_path (char* theme_name, 
00101                                    int   size_wanted, 
00102                                    char* icon_name);
00103 
00104 
00116 MBDotDesktopFolders *mb_dot_desktop_folders_new(const char *vfolder_path);
00117 
00123 void mb_dot_desktop_folders_free(MBDotDesktopFolders* folders);
00124 
00129 #define mb_dot_desktop_folders_get_cnt(f)        (f)->n_entries
00130 
00135 #define mb_dot_desktop_folders_get_entry(f, n)   (f)->entries[(n)]
00136 
00142 #define mb_dot_desktop_folders_enumerate(ddfolders, ddentry) \
00143      for ( (ddentry) = (ddfolders)->entries;                 \
00144            (ddentry) != NULL;                                \
00145            (ddentry) = (ddentry)->next_entry )               \
00146 
00147 
00151 #define mb_dot_desktop_folder_entry_get_name(f)  (f)->name 
00152 
00157 #define mb_dot_desktop_folder_entry_get_icon(f)  (f)->icon
00158 
00163 #define mb_dot_desktop_folder_entry_get_match(f) (f)->match
00164 
00165 #ifdef __cplusplus
00166 }
00167 #endif
00168 
00169 
00173 #endif

Generated on Sun Nov 28 03:44:50 2004 for LibMB by  doxygen 1.3.9.1