1/* Copyright (C) 2007-2008 The Android Open Source Project
2**
3** This software is licensed under the terms of the GNU General Public
4** License version 2, as published by the Free Software Foundation, and
5** may be copied, distributed, and modified under those terms.
6**
7** This program is distributed in the hope that it will be useful,
8** but WITHOUT ANY WARRANTY; without even the implied warranty of
9** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10** GNU General Public License for more details.
11*/
12#include "android/resource.h"
13#include "config-host.h"
14#include <string.h>
15
16typedef struct {
17    const char*           name;
18    const unsigned char*  base;
19    size_t                size;
20} FileEntry;
21
22const unsigned char*
23_resource_find( const char*       name,
24                const FileEntry*  entries,
25                size_t           *psize )
26{
27    const FileEntry*  e = entries;
28
29    for ( ; e->name != NULL; e++ ) {
30        //dprint("SCAN %s\n", e->name);
31        if ( strcmp(e->name, name) == 0 ) {
32            *psize = e->size;
33            return e->base;
34        }
35    }
36    return NULL;
37}
38
39#undef   _file_entries
40#define  _file_entries  _skin_entries
41const unsigned char*
42android_resource_find( const char*  name,
43                       size_t      *psize )
44{
45#    include "android/skin/default.h"
46    return _resource_find( name, _file_entries, psize );
47}
48
49#undef   _file_entries
50#define  _file_entries  _icon_entries
51
52const unsigned char*
53android_icon_find( const char*  name,
54                   size_t      *psize )
55{
56#ifdef _WIN32
57    return NULL;
58#else
59#   include "android/icons.h"
60    return _resource_find( name, _file_entries, psize );
61#endif
62}
63
64
65