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
00028 typedef struct MBDotDesktop MBDotDesktop;
00029
00030
typedef struct _mbdotdesktopfolderentry
00031 {
00032
unsigned char *name;
00033
unsigned char *icon;
00034
unsigned char *match;
00035
00036
struct _mbdotdesktopfolderentry *parent_entry;
00037
struct _mbdotdesktopfolderentry *next_entry;
00038
00039 } MBDotDesktopFolderEntry;
00040
00041
00042
typedef struct _mbdotdesktopfolders
00043 {
00044
struct _mbdotdesktopfolderentry *entries;
00045
int n_entries;
00046
00047 } MBDotDesktopFolders;
00048
00055
MBDotDesktop *
00056
mb_dotdesktop_new_from_file(
const char *filename);
00057
00065
unsigned char *
00066
mb_dotdesktop_get(MBDotDesktop *dd,
char *key);
00067
00074
char *
00075
mb_dotdesktop_get_filename(MBDotDesktop *dd);
00076
00082
void
00083
mb_dotdesktop_free(MBDotDesktop *dd);
00084
00094
char*
00095
mb_dot_desktop_icon_get_full_path (
char* theme_name,
00096
int size_wanted,
00097
char* icon_name);
00098
00099
00111 MBDotDesktopFolders *
mb_dot_desktop_folders_new(
const char *vfolder_path);
00112
00118
void mb_dot_desktop_folders_free(MBDotDesktopFolders* folders);
00119
00124 #define mb_dot_desktop_folders_get_cnt(f) (f)->n_entries
00125
00130 #define mb_dot_desktop_folders_get_entry(f, n) (f)->entries[(n)]
00131
00137 #define mb_dot_desktop_folders_enumerate(ddfolders, ddentry) \
00138
for ( (ddentry) = (ddfolders)->entries; \
00139
(ddentry) != NULL; \
00140
(ddentry) = (ddentry)->next_entry ) \
00141
00142
00146 #define mb_dot_desktop_folder_entry_get_name(f) (f)->name
00147
00152 #define mb_dot_desktop_folder_entry_get_icon(f) (f)->icon
00153
00158 #define mb_dot_desktop_folder_entry_get_match(f) (f)->match
00159
00162
#endif