[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/lib/kross
From: Sebastian Sauer <mail () dipe ! org>
Date: 2006-02-07 2:10:47
Message-ID: 1139278247.604944.22150.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 506559 by sebsauer:
dox++
M +7 -3 python/pythonconfig.h
M +10 -2 ruby/rubyconfig.h
M +14 -3 ruby/rubyextension.h
M +19 -1 ruby/rubyinterpreter.h
M +22 -2 ruby/rubymodule.h
M +28 -4 ruby/rubyscript.h
--- trunk/koffice/lib/kross/python/pythonconfig.h #506558:506559
@@ -36,10 +36,14 @@
#include "CXX/Objects.hxx"
#include "CXX/Extensions.hxx"
+namespace Kross {
+
/**
- * Code to manage the embedded python interpreter and
- * python-scripts.
+ * The Python plugin for the \a Kross scripting framework.
*
+ * The code in this namespace manage the embedded python
+ * interpreter and python-scripts.
+ *
* There is no dependency to e.g. the \a Kross::KexiDB
* wrapper. Everything is handled through the common
* \a Kross::Api bridge. Therefore this interpreter-
@@ -56,7 +60,7 @@
* \sa http://www.python.org
* \sa http://cxx.sourceforge.net
*/
-namespace Kross { namespace Python {
+namespace Python {
// The version of this python plugin. This will be exported
// to the scripting code. That way we're able to write
--- trunk/koffice/lib/kross/ruby/rubyconfig.h #506558:506559
@@ -1,7 +1,7 @@
/***************************************************************************
* pythonconfig.h
* This file is part of the KDE project
- * copyright (C)2004-2005 by Sebastian Sauer (mail@dipe.org)
+ * copyright (C)2005 by Cyrille Berger (cberger@cberger.net)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -20,7 +20,15 @@
#ifndef KROSS_RUBY_CONFIG_H
#define KROSS_RUBY_CONFIG_H
-namespace Kross { namespace Ruby {
+namespace Kross {
+
+/**
+ * The Ruby plugin for the \a Kross scripting framework.
+ *
+ * @author Cyrille Berger
+ * @sa http://www.ruby-lang.org
+ */
+namespace Ruby {
// #define KROSS_RUBY_SCRIPT_DEBUG
// #define KROSS_RUBY_INTERPRETER_DEBUG
// #define KROSS_RUBY_EXTENSION_DEBUG
--- trunk/koffice/lib/kross/ruby/rubyextension.h #506558:506559
@@ -31,20 +31,30 @@
namespace Ruby {
class RubyExtensionPrivate;
+
/**
-@author Cyrille Berger
-*/
+ * This class wraps a \a Kross::Api::Object into the world of ruby.
+ * @author Cyrille Berger
+ */
class RubyExtension{
friend class RubyInterpreter;
friend class RubyModule;
friend class RubyScript;
public:
+ /**
+ * Constructor.
+ *
+ * @param object The \a Kross::Api::Object instance this
+ * extension provides access to.
+ */
RubyExtension(Kross::Api::Object::Ptr object);
+ /**
+ * Destructor.
+ */
~RubyExtension();
private:
/**
* This function will catch functions that are undefined.
- *
*/
static VALUE method_missing(int argc, VALUE *argv, VALUE self);
/**
@@ -115,6 +125,7 @@
*/
static VALUE toVALUE(Kross::Api::List::Ptr list);
private:
+ /// Private d-pointer.
RubyExtensionPrivate* d;
};
--- trunk/koffice/lib/kross/ruby/rubyinterpreter.h #506558:506559
@@ -29,22 +29,40 @@
class RubyInterpreterPrivate;
/**
- * This class is the bridget between kross and Ruby
+ * This class is the bridget between Kross and Ruby.
* @author Cyrille Berger
*/
class RubyInterpreter : public Kross::Api::Interpreter
{
public:
+
+ /**
+ * Constructor
+ *
+ * @param info The \a Kross::Api::InterpreterInfo instance
+ * that describes this \a RubyInterpreter .
+ */
RubyInterpreter(Kross::Api::InterpreterInfo* info);
+
+ /**
+ * Destructor.
+ */
~RubyInterpreter();
+ /**
+ * Factory method to create and return a new \a RubyScript instance.
+ */
virtual Kross::Api::Script* createScript(Kross::Api::ScriptContainer* scriptcontainer);
private:
+ /// Initialize the ruby interpreter.
void initRuby();
+ /// Finalize the ruby interpreter.
void finalizeRuby();
+ /// Load an external plugin / module.
static VALUE require (VALUE, VALUE);
private:
+ /// Private d-pointer.
static RubyInterpreterPrivate* d;
};
--- trunk/koffice/lib/kross/ruby/rubymodule.h #506558:506559
@@ -34,19 +34,39 @@
class RubyModulePrivate;
+/**
+ * A ruby module.
+ * @author Cyrille Berger
+ */
class RubyModule {
public:
- RubyModule(Kross::Api::Module* , QString);
+
+ /**
+ * Constructor.
+ *
+ * @param mod The \a Kross::Api::Module this RubyExtension
+ * wraps.
+ * @param modname The name the module will be published as.
+ */
+ RubyModule(Kross::Api::Module* mod, QString modname);
+
+ /**
+ * Destructor.
+ */
~RubyModule();
+
private:
+
/**
* This function will catch functions that are undefined.
*/
static VALUE method_missing(int argc, VALUE *argv, VALUE self);
+
private:
+ /// Private d-pointer.
RubyModulePrivate* d;
};
-
+
}
}
--- trunk/koffice/lib/kross/ruby/rubyscript.h #506558:506559
@@ -27,15 +27,32 @@
namespace Ruby {
class RubyScriptPrivate;
- /**
- * Handle ruby scripts. This class implements
- * \a Kross::Api::Script for ruby.
- */
+
+/**
+ * Handle ruby scripts. This class implements
+ * \a Kross::Api::Script for ruby.
+ * @author Cyrille Berger
+ */
class RubyScript : public Kross::Api::Script
{
public:
+
+ /**
+ * Constructor.
+ *
+ * @param interpreter The @a RubyInterpreter instance used to
+ * create this script.
+ * @param scriptcontainer The @a Kross::Api::ScriptContainer
+ * instance this @a RubyScript does handle the
+ * backend-work for.
+ */
RubyScript(Kross::Api::Interpreter* interpreter, Kross::Api::ScriptContainer* scriptcontainer);
+
+ /**
+ * Destructor.
+ */
~RubyScript();
+
/**
* Return a list of callable functionnames this
* script spends.
@@ -61,9 +78,16 @@
* Create and return a new class instance.
*/
virtual Kross::Api::Object::Ptr classInstance(const QString& name);
+
private:
+
+ /**
+ * Compile the script.
+ */
void compile();
+
private:
+ /// Private d-pointer.
RubyScriptPrivate* d;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic