JavaScriptCore/wtf/gobject/GOwnPtr.cpp
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2  * Copyright (C) 2008 Collabora Ltd.
       
     3  *
       
     4  *  This library is free software; you can redistribute it and/or
       
     5  *  modify it under the terms of the GNU Lesser General Public
       
     6  *  License as published by the Free Software Foundation; either
       
     7  *  version 2 of the License, or (at your option) any later version.
       
     8  *
       
     9  *  This library is distributed in the hope that it will be useful,
       
    10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    12  *  Lesser General Public License for more details.
       
    13  *
       
    14  *  You should have received a copy of the GNU Lesser General Public
       
    15  *  License along with this library; if not, write to the Free Software
       
    16  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
       
    17  */
       
    18 
       
    19 #include "config.h"
       
    20 #include "GOwnPtr.h"
       
    21 
       
    22 #include <gio/gio.h>
       
    23 #include <glib.h>
       
    24 
       
    25 namespace WTF {
       
    26 
       
    27 template <> void freeOwnedGPtr<GError>(GError* ptr)
       
    28 {
       
    29     if (ptr)
       
    30         g_error_free(ptr);
       
    31 }
       
    32 
       
    33 template <> void freeOwnedGPtr<GList>(GList* ptr)
       
    34 {
       
    35     g_list_free(ptr);
       
    36 }
       
    37 
       
    38 template <> void freeOwnedGPtr<GCond>(GCond* ptr)
       
    39 {
       
    40     if (ptr)
       
    41         g_cond_free(ptr);
       
    42 }
       
    43 
       
    44 template <> void freeOwnedGPtr<GMutex>(GMutex* ptr)
       
    45 {
       
    46     if (ptr)
       
    47         g_mutex_free(ptr);
       
    48 }
       
    49 
       
    50 template <> void freeOwnedGPtr<GPatternSpec>(GPatternSpec* ptr)
       
    51 {
       
    52     if (ptr)
       
    53         g_pattern_spec_free(ptr);
       
    54 }
       
    55 
       
    56 template <> void freeOwnedGPtr<GDir>(GDir* ptr)
       
    57 {
       
    58     if (ptr)
       
    59         g_dir_close(ptr);
       
    60 }
       
    61 
       
    62 template <> void freeOwnedGPtr<GFile>(GFile* ptr)
       
    63 {
       
    64     if (ptr)
       
    65         g_object_unref(ptr);
       
    66 }
       
    67 } // namespace WTF