Ypp - Ytk in C++

First, Ypp includes few wrapper classes for datatypes from libyw. In most cases they aren't very smart, but are good for the very begining. Ypp::Object class is an exception, that it uses YtkObject's internal reference counter, that doesn't copy object when using assigments etc. Other classes copy content around.

All objects in Ypp are declared inside Ypp namespace. With one exception: extern "C" ypp_init() function, that needs to be called by code wishing to use Ypp* widgets.

Ypp::Class class is basic class that can be used to construct custom YtkObjects. There is just single function used for callback and finalization -- they are dispatched using C++ virtual functions. Unfortunetly, as C++ doesn't provide way of passing classes as function's arguments, there has to be single creation function for each implemented widget type. It's implemented using template, and simple shell script, that walks through sources and looks what classes needs to be registred.

Ypp::Class provide virtual member function to dispatch incoming packets (calls). It also translates few standard exception from this function and translates them to error messages. Note, that Ypp::Object::send_msg() function does the reverse.

Ypp::Widget provides support for object properties (ops), some widget's size functions, and few more things. It's abstract. For more detailed description, (including it's ops) for Ypp::Widget and other classes please refer to their manual pages.