Sync with the latest one
[platform/framework/web/livebox-viewer.git] / src / fb.c
index 20bffc9..69c5dde 100644 (file)
--- a/src/fb.c
+++ b/src/fb.c
@@ -37,7 +37,6 @@
 #include "debug.h"
 #include "util.h"
 #include "fb.h"
-#include "critical_log.h"
 
 int errno;
 
@@ -316,13 +315,13 @@ struct fb_info *fb_create(const char *id, int w, int h)
 
        info = calloc(1, sizeof(*info));
        if (!info) {
-               CRITICAL_LOG("Heap: %s\n", strerror(errno));
+               ErrPrint("Heap: %s\n", strerror(errno));
                return NULL;
        }
 
        info->id = strdup(id);
        if (!info->id) {
-               CRITICAL_LOG("Heap: %s\n", strerror(errno));
+               ErrPrint("Heap: %s\n", strerror(errno));
                free(info);
                return NULL;
        }
@@ -401,7 +400,7 @@ void *fb_acquire_buffer(struct fb_info *info)
 
                        buffer = calloc(1, sizeof(*buffer) + info->bufsz);
                        if (!buffer) {
-                               CRITICAL_LOG("Heap: %s\n", strerror(errno));
+                               ErrPrint("Heap: %s\n", strerror(errno));
                                info->bufsz = 0;
                                return NULL;
                        }
@@ -422,7 +421,7 @@ void *fb_acquire_buffer(struct fb_info *info)
 
                        buffer = calloc(1, sizeof(*buffer) + info->bufsz);
                        if (!buffer) {
-                               CRITICAL_LOG("Heap: %s\n", strerror(errno));
+                               ErrPrint("Heap: %s\n", strerror(errno));
                                info->bufsz = 0;
                                return NULL;
                        }
@@ -591,4 +590,34 @@ int fb_size(struct fb_info *info)
        return info->bufsz;
 }
 
+int fb_type(struct fb_info *info)
+{
+       struct buffer *buffer;
+
+       if (!info) {
+               return BUFFER_TYPE_ERROR;
+       }
+
+       buffer = info->buffer;
+       if (!buffer) {
+               int type = BUFFER_TYPE_ERROR;
+               /*!
+                * \note
+                * Try to get this from SCHEMA
+                */
+               if (info->id) {
+                       if (!strncasecmp(info->id, SCHEMA_FILE, strlen(SCHEMA_FILE))) {
+                               type = BUFFER_TYPE_FILE;
+                       } else if (!strncasecmp(info->id, SCHEMA_PIXMAP, strlen(SCHEMA_PIXMAP))) {
+                               type = BUFFER_TYPE_PIXMAP;
+                       } else if (!strncasecmp(info->id, SCHEMA_SHM, strlen(SCHEMA_SHM))) {
+                               type = BUFFER_TYPE_SHM;
+                       }
+               }
+
+               return type;
+       }
+
+       return buffer->type;
+}
 /* End of a file */