Fix changelog email address
[freerdp-ubuntu-pcb-backport.git] / libfreerdp-cache / cache.c
1 /**
2  * FreeRDP: A Remote Desktop Protocol Client
3  * RDP Caches
4  *
5  * Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 #include <freerdp/utils/stream.h>
21 #include <freerdp/utils/memory.h>
22
23 #include <freerdp/cache/cache.h>
24
25 rdpCache* cache_new(rdpSettings* settings)
26 {
27         rdpCache* cache;
28
29         cache = (rdpCache*) xzalloc(sizeof(rdpCache));
30
31         if (cache != NULL)
32         {
33                 cache->settings = settings;
34                 cache->glyph = glyph_cache_new(settings);
35                 cache->brush = brush_cache_new(settings);
36                 cache->pointer = pointer_cache_new(settings);
37                 cache->bitmap = bitmap_cache_new(settings);
38                 cache->offscreen = offscreen_cache_new(settings);
39                 cache->palette = palette_cache_new(settings);
40         }
41
42         return cache;
43 }
44
45 void cache_free(rdpCache* cache)
46 {
47         if (cache != NULL)
48         {
49                 glyph_cache_free(cache->glyph);
50                 brush_cache_free(cache->brush);
51                 pointer_cache_free(cache->pointer);
52                 bitmap_cache_free(cache->bitmap);
53                 offscreen_cache_free(cache->offscreen);
54                 palette_cache_free(cache->palette);
55                 xfree(cache);
56         }
57 }