
/*
 *	This file was automatically generated by dbusxx-xml2cpp; DO NOT EDIT!
 */

#ifndef __dbusxx___home_ysq_code_kaiming_common_KMDbusAdptor_h__ADAPTOR_MARSHAL_H
#define __dbusxx___home_ysq_code_kaiming_common_KMDbusAdptor_h__ADAPTOR_MARSHAL_H

#include <dbus-c++/dbus.h>
#include <cassert>

namespace org {
namespace freedesktop {
namespace Kaiming {

class SessionHelper_adaptor
: public ::DBus::InterfaceAdaptor
{
public:

    SessionHelper_adaptor()
    : ::DBus::InterfaceAdaptor("org.freedesktop.Kaiming.SessionHelper")
    {
        register_method(SessionHelper_adaptor, RequestSession, _RequestSession_stub);
    }

    ::DBus::IntrospectedInterface *introspect() const 
    {
        static ::DBus::IntrospectedArgument RequestSession_args[] = 
        {
            { "output", "a{sv}", false },
            { 0, 0, 0 }
        };
        static ::DBus::IntrospectedMethod SessionHelper_adaptor_methods[] = 
        {
            { "RequestSession", RequestSession_args },
            { 0, 0 }
        };
        static ::DBus::IntrospectedMethod SessionHelper_adaptor_signals[] = 
        {
            { 0, 0 }
        };
        static ::DBus::IntrospectedProperty SessionHelper_adaptor_properties[] = 
        {
            { 0, 0, 0, 0 }
        };
        static ::DBus::IntrospectedInterface SessionHelper_adaptor_interface = 
        {
            "org.freedesktop.Kaiming.SessionHelper",
            SessionHelper_adaptor_methods,
            SessionHelper_adaptor_signals,
            SessionHelper_adaptor_properties
        };
        return &SessionHelper_adaptor_interface;
    }

public:

    /* properties exposed by this interface, use
     * property() and property(value) to get and set a particular property
     */

public:

    /* methods exported by this interface,
     * you will have to implement them in your ObjectAdaptor
     */
    virtual std::map< std::string, ::DBus::Variant > RequestSession() = 0;

public:

    /* signal emitters for this interface
     */

private:

    /* unmarshalers (to unpack the DBus message before calling the actual interface method)
     */
    ::DBus::Message _RequestSession_stub(const ::DBus::CallMessage &call)
    {
        ::DBus::MessageIter ri = call.reader();

        std::map< std::string, ::DBus::Variant > argout1 = RequestSession();
        ::DBus::ReturnMessage reply(call);
        ::DBus::MessageIter wi = reply.writer();
        wi << argout1;
        return reply;
    }
};

} } } 
#endif //__dbusxx___home_ysq_code_kaiming_common_KMDbusAdptor_h__ADAPTOR_MARSHAL_H
