/* Copyright (C) 2013 The glibmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see . */ namespace { extern "C" { // Non-static functions with C linkage get external linkage, even if they are // defined in an anonymous namespace. //TODO: Declare 'static' when we can break ABI. int ByteArray_Compare_Data_Func(gconstpointer a, gconstpointer b, gpointer user_data) { Glib::ByteArray::SlotCompare* slot = static_cast(user_data); return (*slot)(static_cast(a), static_cast(b)); } } // extern "C" } // anonymous namespace namespace Glib { guint ByteArray::size() const { return gobj()->len; } guint8* ByteArray::get_data() { return gobj()->data; } const guint8* ByteArray::get_data() const { return gobj()->data; } } // namespace Glib