Mailinglist Archive: yast-devel (55 mails)

< Previous Next >
Re: [yast-devel] contributing using c/c++?
  • From: "Duncan Mac-Vicar P." <dmacvicar@xxxxxxx>
  • Date: Mon, 14 Mar 2011 15:13:06 +0100
  • Message-id: <4D7E2272.6000401@suse.de>
On 03/14/2011 12:11 PM, Tsiapaliwkas Giorgos wrote:
On Monday, March 14, 2011 11:30:22 AM Thomas Goettlicher wrote:
As far as I know qt, ncurses, gtk, core, libyui, *-bindings, and much more
is written in C++.

thank you for your answer.

can u point me to some documentation?

also it would be bery helpfull if you could tell the level of difficulty of
these parts of yast..

You will find various areas with different levels of difficulty

- yast2-core

The core of YaST is a component model and type system, called YCP. There is also a YCP language that is a 1:1 representation of this, but the idea is that you can write a component in any language as long as you use the YCP types.

This also includes the ycp parser, the SCR component (to access the system) and its agents (or backend for different system areas /proc, ini files, sysconfig), etc.

YaST itself is separated in modules (APIs or namespaces with functions, I prefer to call them components), and clients (workflows).

There is a perl, ruby and python modules. Which allow you to write a module (as in APIs) in any of those languages, to be called by any other YaST component. So you can do:

foo.rb

module MyAPI
def self.hello
puts "hello"
end
end

And then from YCP, perl, python you could do:

MyAPI::hello, and that should work :-)


- libyui

It is a C++ library offering a UI API without an event loop. It uses plugins for Qt, Gtk and curses.

There is a ycp-bindings API that offers a YCP component for that library and parses a ycp symbol list into a widget.


--
Duncan Mac-Vicar P. - Novell® Making IT Work As One™
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg)

--
To unsubscribe, e-mail: yast-devel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: yast-devel+help@xxxxxxxxxxxx

< Previous Next >