When using the qdbus interface of yakuake, the following warning is constantly printed in the terminal:
Skipped method "addSession" : Unregistered input type in parameter list: Session::SessionType
That's because the enum Session::SessionType is the type of parameter that is accepted by the addSession function that is exposed through the dbus interface, and this enum hasn't been registered (with a Q_DECLARE_METATYPE?).
As I see, registering a new metatype can be a bit tricky, and I guess this might be one reason why the additional functions addSessionTwoHorizontal(), addSessionTwoVertical() and addSessionQuad() exist: simplified code. After all, these functions are just one-line-code wrappers of the existing addSession() function (they call the addSession() with different session type parameter).
This patch renames the existing int SessionStack::addSession(Session::SessionType type) function to SessionStack::addSessionImpl(Session::SessionType type), and creates a yet-another-wrapper function int SessionStack::addSession() without any parameters to make it available through the QDBus interface in order to suppress these warnings without breaking the DBus API. The newly added addSession() behaves exactly as the old addSession() behaved; just creates a new Session::Single type session.