// Generated by gtkmmproc -- DO NOT MODIFY! #include #include #include // -*- c++ -*- /* $Id: relationset.ccg,v 1.1 2003/01/21 13:37:06 murrayc Exp $ */ /* Copyright 1998-2002 The gtkmm 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, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include namespace { } // anonymous namespace namespace Glib { Glib::RefPtr wrap(AtkRelationSet* object, bool take_copy) { return Glib::RefPtr( dynamic_cast (Glib::wrap_auto ((GObject*)(object), take_copy)) ); //We use dynamic_cast<> in case of multiple inheritance. } } /* namespace Glib */ namespace Atk { /* The *_Class implementation: */ const Glib::Class& RelationSet_Class::init() { if(!gtype_) // create the GType if necessary { // Glib::Class has to know the class init function to clone custom types. class_init_func_ = &RelationSet_Class::class_init_function; // This is actually just optimized away, apparently with no harm. // Make sure that the parent type has been created. //CppClassParent::CppObjectType::get_type(); // Create the wrapper type, with the same class/instance size as the base type. register_derived_type(atk_relation_set_get_type()); // Add derived versions of interfaces, if the C type implements any interfaces: } return *this; } void RelationSet_Class::class_init_function(void* g_class, void* class_data) { BaseClassType *const klass = static_cast(g_class); CppClassParent::class_init_function(klass, class_data); } Glib::ObjectBase* RelationSet_Class::wrap_new(GObject* object) { return new RelationSet((AtkRelationSet*)object); } /* The implementation: */ AtkRelationSet* RelationSet::gobj_copy() { reference(); return gobj(); } RelationSet::RelationSet(const Glib::ConstructParams& construct_params) : Glib::Object(construct_params) { } RelationSet::RelationSet(AtkRelationSet* castitem) : Glib::Object((GObject*)(castitem)) {} RelationSet::~RelationSet() {} RelationSet::CppClassType RelationSet::relationset_class_; // initialize static member GType RelationSet::get_type() { return relationset_class_.init().get_type(); } GType RelationSet::get_base_type() { return atk_relation_set_get_type(); } RelationSet::RelationSet() : // Mark this class as non-derived to allow C++ vfuncs to be skipped. Glib::ObjectBase(0), Glib::Object(Glib::ConstructParams(relationset_class_.init())) { } Glib::RefPtr RelationSet::create() { return Glib::RefPtr( new RelationSet() ); } bool RelationSet::set_contains(RelationType relationship) { return atk_relation_set_contains(gobj(), ((AtkRelationType)(relationship))); } void RelationSet::set_remove(const Glib::RefPtr& relation) { atk_relation_set_remove(gobj(), Glib::unwrap(relation)); } void RelationSet::set_add(const Glib::RefPtr& relation) { atk_relation_set_add(gobj(), Glib::unwrap(relation)); } int RelationSet::get_n_relations() const { return atk_relation_set_get_n_relations(const_cast(gobj())); } Glib::RefPtr RelationSet::get_relation(gint i) { Glib::RefPtr retvalue = Glib::wrap(atk_relation_set_get_relation(gobj(), i)); if(retvalue) retvalue->reference(); //The function does not do a ref for us. return retvalue; } Glib::RefPtr RelationSet::get_relation(RelationType relationship) { Glib::RefPtr retvalue = Glib::wrap(atk_relation_set_get_relation_by_type(gobj(), ((AtkRelationType)(relationship)))); if(retvalue) retvalue->reference(); //The function does not do a ref for us. return retvalue; } void RelationSet::add_relation_by_type(RelationType relationship, const Glib::RefPtr& target) { atk_relation_set_add_relation_by_type(gobj(), ((AtkRelationType)(relationship)), Glib::unwrap(target)); } } // namespace Atk