1 /***************************************************************************
3 * This file is part of the KDE project
4 * copyright (C)2005 by Cyrille Berger (cberger@cberger.net)
5 * copyright (C)2006 by Sebastian Sauer (mail@dipe.org)
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
15 * You should have received a copy of the GNU Library General Public License
16 * along with this program; see the file COPYING. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 ***************************************************************************/
21 #ifndef KROSS_RUBYRUBYMODULE_H
22 #define KROSS_RUBYRUBYMODULE_H
24 #include "rubyconfig.h"
25 #include <kross/core/krossconfig.h>
26 //#include "../core/object.h"
27 //#include "../core/module.h"
35 class RubyModulePrivate
;
39 * @author Cyrille Berger
41 class RubyModule
: public QObject
{
47 * @param parent The parent QObject. This \a RubyModule instance will
48 * be destroyed if the parent QObject got destroyed.
49 * @param object The QObject instance this extension provides access to.
50 * @param modname The name the module will be published as.
52 RubyModule(QObject
* parent
, QObject
* object
, const QString
& modname
);
60 * \return the \a RubyExtension instance used for this module.
62 RubyExtension
* extension() const;
67 * This function will catch functions that are undefined.
69 static VALUE
method_missing(int argc
, VALUE
*argv
, VALUE self
);
72 /// Private d-pointer.
73 RubyModulePrivate
* const d
;
74 /// Unwanted copy-ctor.
75 RubyModule(const RubyModule
&);