Main Page | Modules | Directories | 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 
00089 char *
00090 mb_dotdesktop_get_exec (MBDotDesktop *dd);
00091 
00097 void
00098 mb_dotdesktop_free(MBDotDesktop *dd);
00099 
00109 char*
00110 mb_dot_desktop_icon_get_full_path (char* theme_name, 
00111                                    int   size_wanted, 
00112                                    char* icon_name);
00113 
00114 
00126 MBDotDesktopFolders *mb_dot_desktop_folders_new(const char *vfolder_path);
00127 
00133 void mb_dot_desktop_folders_free(MBDotDesktopFolders* folders);
00134 
00139 #define mb_dot_desktop_folders_get_cnt(f)        (f)->n_entries
00140 
00146 #define mb_dot_desktop_folders_enumerate(ddfolders, ddentry) \
00147      for ( (ddentry) = (ddfolders)->entries;                 \
00148            (ddentry) != NULL;                                \
00149            (ddentry) = (ddentry)->next_entry )               \
00150 
00151 
00155 #define mb_dot_desktop_folder_entry_get_name(f)  (f)->name 
00156 
00161 #define mb_dot_desktop_folder_entry_get_icon(f)  (f)->icon
00162 
00167 #define mb_dot_desktop_folder_entry_get_match(f) (f)->match
00168 
00169 #ifdef __cplusplus
00170 }
00171 #endif
00172 
00173 
00177 #endif

Generated on Tue Jan 11 08:51:10 2005 for LibMB by  doxygen 1.4.0