Mercurial > projects > dbus-d
diff dbus-d-javatests/dsrc/DBusTestsInterfaces.d @ 0:a5576806d36d
recreate repository without any libs for lightweight repository
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 20 Oct 2007 18:07:18 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbus-d-javatests/dsrc/DBusTestsInterfaces.d Sat Oct 20 18:07:18 2007 +0200 @@ -0,0 +1,784 @@ +/** + * Generated with TioLink + * TioLink was written by Frank Benoit <benoit@tionex.de> + * http://www.dsource.org/projects/tiolink + * + * File type: D programming language source code + */ +module DBusTestsInterfaces; + +public import org.freedesktop.dbus.Struct; +public import org.freedesktop.dbus.Variant; + +import tango.core.Signal; +import org.freedesktop.dbus.DBus; +import org.freedesktop.dbus.c.Connection : DBusConnection; +import org.freedesktop.dbus.c.Message : DBusMessage; +import org.freedesktop.dbus.c.Shared : DBusHandlerResult; + + +// DBus interfaces +public interface DBusInterface { + // org + public interface org { + // org.freedesktop + public interface freedesktop { + // org.freedesktop.DBus + public interface DBus { + // org.freedesktop.DBus.Peer + public interface Peer { + public void Ping(); + public char[] GetMachineId(); + } + // org.freedesktop.DBus.Introspectable + public interface Introspectable { + public char[] Introspect(); + } + // org.freedesktop.DBus.Properties + public interface Properties { + public DBusVariant Get( in char[] intf_name, in char[] prop_name ); + public void Set( in char[] intf_name, in char[] prop_name, in DBusVariant prop ); + public DBusVariant[ char[] ] GetAll( in char[] intf_name ); + } + } + } + } + // dbustests + public interface dbustests { + // dbustests.Tests + public interface Tests { + public void identityVoid(); + public bool identityBool( in bool input ); + public byte identityByte( in byte input ); + public short identityShort( in short input ); + public ushort identityUShort( in ushort input ); + public int identityInt( in int input ); + public uint identityUInt( in uint input ); + public long identityLong( in long input ); + public ulong identityULong( in ulong input ); + public double identityDouble( in double input ); + public char[] identityString( in char[] input ); + public DBusVariant identityVariant( in DBusVariant input ); + public bool[] identityArrayBool( in bool[] input ); + public byte[] identityArrayByte( in byte[] input ); + public short[] identityArrayShort( in short[] input ); + public ushort[] identityArrayUShort( in ushort[] input ); + public int[] identityArrayInt( in int[] input ); + public uint[] identityArrayUInt( in uint[] input ); + public long[] identityArrayLong( in long[] input ); + public ulong[] identityArrayULong( in ulong[] input ); + public double[] identityArrayDouble( in double[] input ); + public char[][] identityArrayString( in char[][] input ); + public DBusVariant[] identityArrayVariant( in DBusVariant[] input ); + public long Sum( in int[] input ); + public uint Sum( in byte[] input ); + public char[][][ char[] ] InvertMapping( in char[][ char[] ] input ); + public void DeStruct( in Struct!( char[], uint, short ) input, out char[] res_1, out uint res_2, out short res_3 ); + public DBusVariant[] Primitize( in DBusVariant input ); + public bool Invert( in bool input ); + public tango.core.Signal.Signal!()* signalVoid(); + public tango.core.Signal.Signal!( int )* signalInt(); + public tango.core.Signal.Signal!( Struct!( char[], uint, short ) )* signalStruct(); + public tango.core.Signal.Signal!( Struct!( char[], uint, short )[] )* signalArray(); + public tango.core.Signal.Signal!( DBusVariant )* signalVariant(); + } + } +} + + +// Peer implementations +public interface DBusPeers { + // org + public class org : DBusPeerObject, DBusInterface.org { + // org.freedesktop + public class freedesktop : DBusPeerObject, DBusInterface.org.freedesktop { + // org.freedesktop.DBus + public class DBus : DBusPeerObject, DBusInterface.org.freedesktop.DBus { + // org.freedesktop.DBus.Peer + public class Peer : DBusPeerObject, DBusInterface.org.freedesktop.DBus.Peer { + public void Ping(){ + } + public char[] GetMachineId(){ + } + } + // org.freedesktop.DBus.Introspectable + public class Introspectable : DBusPeerObject, DBusInterface.org.freedesktop.DBus.Introspectable { + public char[] Introspect(){ + } + } + // org.freedesktop.DBus.Properties + public class Properties : DBusPeerObject, DBusInterface.org.freedesktop.DBus.Properties { + public DBusVariant Get( in char[] intf_name, in char[] prop_name ){ + } + public void Set( in char[] intf_name, in char[] prop_name, in DBusVariant prop ){ + } + public DBusVariant[ char[] ] GetAll( in char[] intf_name ){ + } + } + } + } + } + // dbustests + public class dbustests : DBusPeerObject, DBusInterface.dbustests { + // dbustests.Tests + public class Tests : DBusPeerObject, DBusInterface.dbustests.Tests { + public void identityVoid(){ + } + public bool identityBool( in bool input ){ + } + public byte identityByte( in byte input ){ + } + public short identityShort( in short input ){ + } + public ushort identityUShort( in ushort input ){ + } + public int identityInt( in int input ){ + } + public uint identityUInt( in uint input ){ + } + public long identityLong( in long input ){ + } + public ulong identityULong( in ulong input ){ + } + public double identityDouble( in double input ){ + } + public char[] identityString( in char[] input ){ + } + public DBusVariant identityVariant( in DBusVariant input ){ + } + public bool[] identityArrayBool( in bool[] input ){ + } + public byte[] identityArrayByte( in byte[] input ){ + } + public short[] identityArrayShort( in short[] input ){ + } + public ushort[] identityArrayUShort( in ushort[] input ){ + } + public int[] identityArrayInt( in int[] input ){ + } + public uint[] identityArrayUInt( in uint[] input ){ + } + public long[] identityArrayLong( in long[] input ){ + } + public ulong[] identityArrayULong( in ulong[] input ){ + } + public double[] identityArrayDouble( in double[] input ){ + } + public char[][] identityArrayString( in char[][] input ){ + } + public DBusVariant[] identityArrayVariant( in DBusVariant[] input ){ + } + public long Sum( in int[] input ){ + } + public uint Sum( in byte[] input ){ + } + public char[][][ char[] ] InvertMapping( in char[][ char[] ] input ){ + } + public void DeStruct( in Struct!( char[], uint, short ) input, out char[] res_1, out uint res_2, out short res_3 ){ + } + public DBusVariant[] Primitize( in DBusVariant input ){ + } + public bool Invert( in bool input ){ + } + } + } +} + + +// DBusObject +public class DBusObject : DBusObjectImpl, DBusInterface.org.freedesktop.DBus.Introspectable { + this(){ + super(); + } + public char[] Introspect(){ + return super.Introspect(); + } +} + + +// DBusPeerObject +public class DBusPeerObject { +} + + +private void init_introspectionData(){ + registerIntrospectionData( + DBusInterface.org.freedesktop.DBus.Peer.classinfo, + `<interface name="org.freedesktop.DBus.Peer">\n` + ` <method name="Ping">\n` + ` </method>\n` + ` <method name="GetMachineId">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="machine_uuid" />\n` + ` <arg name="machine_uuid" type="s" direction="out" />\n` + ` </method>\n` + `</interface>\n`); + registerIntrospectionData( + DBusInterface.org.freedesktop.DBus.Introspectable.classinfo, + `<interface name="org.freedesktop.DBus.Introspectable">\n` + ` <method name="Introspect">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="xml_data" />\n` + ` <arg name="xml_data" type="s" direction="out" />\n` + ` </method>\n` + `</interface>\n`); + registerIntrospectionData( + DBusInterface.org.freedesktop.DBus.Properties.classinfo, + `<interface name="org.freedesktop.DBus.Properties">\n` + ` <method name="Get">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="prop" />\n` + ` <arg name="intf_name" type="s" direction="in" />\n` + ` <arg name="prop_name" type="s" direction="in" />\n` + ` <arg name="prop" type="v" direction="out" />\n` + ` </method>\n` + ` <method name="Set">\n` + ` <arg name="intf_name" type="s" direction="in" />\n` + ` <arg name="prop_name" type="s" direction="in" />\n` + ` <arg name="prop" type="v" direction="in" />\n` + ` </method>\n` + ` <method name="GetAll">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="allprops" />\n` + ` <arg name="intf_name" type="s" direction="in" />\n` + ` <arg name="allprops" type="a{sv}" direction="out" />\n` + ` </method>\n` + `</interface>\n`); + registerIntrospectionData( + DBusInterface.dbustests.Tests.classinfo, + `<interface name="dbustests.Tests">\n` + ` <method name="identityVoid">\n` + ` </method>\n` + ` <method name="identityBool">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="b" direction="out" />\n` + ` <arg name="input" type="b" direction="in" />\n` + ` </method>\n` + ` <method name="identityByte">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="y" direction="out" />\n` + ` <arg name="input" type="y" direction="in" />\n` + ` </method>\n` + ` <method name="identityShort">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="n" direction="out" />\n` + ` <arg name="input" type="n" direction="in" />\n` + ` </method>\n` + ` <method name="identityUShort">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="q" direction="out" />\n` + ` <arg name="input" type="q" direction="in" />\n` + ` </method>\n` + ` <method name="identityInt">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="i" direction="out" />\n` + ` <arg name="input" type="i" direction="in" />\n` + ` </method>\n` + ` <method name="identityUInt">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="u" direction="out" />\n` + ` <arg name="input" type="u" direction="in" />\n` + ` </method>\n` + ` <method name="identityLong">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="x" direction="out" />\n` + ` <arg name="input" type="x" direction="in" />\n` + ` </method>\n` + ` <method name="identityULong">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="t" direction="out" />\n` + ` <arg name="input" type="t" direction="in" />\n` + ` </method>\n` + ` <method name="identityDouble">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="d" direction="out" />\n` + ` <arg name="input" type="d" direction="in" />\n` + ` </method>\n` + ` <method name="identityString">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="s" direction="out" />\n` + ` <arg name="input" type="s" direction="in" />\n` + ` </method>\n` + ` <method name="identityVariant">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="v" direction="out" />\n` + ` <arg name="input" type="v" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayBool">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="ab" direction="out" />\n` + ` <arg name="input" type="ab" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayByte">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="ay" direction="out" />\n` + ` <arg name="input" type="ay" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayShort">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="an" direction="out" />\n` + ` <arg name="input" type="an" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayUShort">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="aq" direction="out" />\n` + ` <arg name="input" type="aq" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayInt">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="ai" direction="out" />\n` + ` <arg name="input" type="ai" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayUInt">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="au" direction="out" />\n` + ` <arg name="input" type="au" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayLong">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="ax" direction="out" />\n` + ` <arg name="input" type="ax" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayULong">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="at" direction="out" />\n` + ` <arg name="input" type="at" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayDouble">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="ad" direction="out" />\n` + ` <arg name="input" type="ad" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayString">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="as" direction="out" />\n` + ` <arg name="input" type="as" direction="in" />\n` + ` </method>\n` + ` <method name="identityArrayVariant">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="av" direction="out" />\n` + ` <arg name="input" type="av" direction="in" />\n` + ` </method>\n` + ` <method name="Sum">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="x" direction="out" />\n` + ` <arg name="input" type="ai" direction="in" />\n` + ` </method>\n` + ` <method name="Sum">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="u" direction="out" />\n` + ` <arg name="input" type="ay" direction="in" />\n` + ` </method>\n` + ` <method name="InvertMapping">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="a{sas}" direction="out" />\n` + ` <arg name="input" type="a{ss}" direction="in" />\n` + ` </method>\n` + ` <method name="DeStruct">\n` + ` <arg name="input" type="(sun)" direction="in" />\n` + ` <arg name="res_1" type="s" direction="out" />\n` + ` <arg name="res_2" type="u" direction="out" />\n` + ` <arg name="res_3" type="n" direction="out" />\n` + ` </method>\n` + ` <method name="Primitize">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="input" type="v" direction="in" />\n` + ` <arg name="res" type="av" direction="out" />\n` + ` </method>\n` + ` <method name="Invert">\n` + ` <annotation name="org.dsource.tiolink.Returns" value="res" />\n` + ` <arg name="res" type="b" direction="out" />\n` + ` <arg name="input" type="b" direction="in" />\n` + ` </method>\n` + `</interface>\n`); +} +private DBusHandlerResult intfHandler__org_freedesktop_DBus_Peer( DBusConnection* conn, DBusMessage* message, void* user_data ){ + DBusInterface.org.freedesktop.DBus.Peer o = cast(DBusInterface.org.freedesktop.DBus.Peer)cast(Object)user_data; + if( o is null || !checkIntf( "org.freedesktop.DBus.Peer", message) ) + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + try{ + char[METHOD_SIG_MAXLENGTH] buf; + switch( methodSignature( message, buf ) ){ + case "Ping|": + { + o.Ping(); + sendReply( conn, message ); + } + break; + case "GetMachineId|": + { + Struct!( char[] ) po; + po.t[0] = o.GetMachineId(); + sendReplyData!( char[] )( conn, message, po ); + } + break; + default: + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + } + catch( Exception e ){ + sendException( conn, message, e ); + } + return DBusHandlerResult.DBUS_HANDLER_RESULT_HANDLED; +} + +private DBusHandlerResult intfHandler__org_freedesktop_DBus_Introspectable( DBusConnection* conn, DBusMessage* message, void* user_data ){ + DBusInterface.org.freedesktop.DBus.Introspectable o = cast(DBusInterface.org.freedesktop.DBus.Introspectable)cast(Object)user_data; + if( o is null || !checkIntf( "org.freedesktop.DBus.Introspectable", message) ) + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + try{ + char[METHOD_SIG_MAXLENGTH] buf; + switch( methodSignature( message, buf ) ){ + case "Introspect|": + { + Struct!( char[] ) po; + po.t[0] = o.Introspect(); + sendReplyData!( char[] )( conn, message, po ); + } + break; + default: + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + } + catch( Exception e ){ + sendException( conn, message, e ); + } + return DBusHandlerResult.DBUS_HANDLER_RESULT_HANDLED; +} + +private DBusHandlerResult intfHandler__org_freedesktop_DBus_Properties( DBusConnection* conn, DBusMessage* message, void* user_data ){ + DBusInterface.org.freedesktop.DBus.Properties o = cast(DBusInterface.org.freedesktop.DBus.Properties)cast(Object)user_data; + if( o is null || !checkIntf( "org.freedesktop.DBus.Properties", message) ) + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + try{ + char[METHOD_SIG_MAXLENGTH] buf; + switch( methodSignature( message, buf ) ){ + case "Get|ss": + { + Struct!( char[], char[] ) pi = getCallValues!( char[], char[] )( message ); + Struct!( DBusVariant ) po; + po.t[0] = o.Get( pi.t[0], pi.t[1] ); + sendReplyData!( DBusVariant )( conn, message, po ); + } + break; + case "Set|ssv": + { + Struct!( char[], char[], DBusVariant ) pi = getCallValues!( char[], char[], DBusVariant )( message ); + o.Set( pi.t[0], pi.t[1], pi.t[2] ); + sendReply( conn, message ); + } + break; + case "GetAll|s": + { + Struct!( char[] ) pi = getCallValues!( char[] )( message ); + Struct!( DBusVariant[ char[] ] ) po; + po.t[0] = o.GetAll( pi.t[0] ); + sendReplyData!( DBusVariant[ char[] ] )( conn, message, po ); + } + break; + default: + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + } + catch( Exception e ){ + sendException( conn, message, e ); + } + return DBusHandlerResult.DBUS_HANDLER_RESULT_HANDLED; +} + +private DBusHandlerResult intfHandler__dbustests_Tests( DBusConnection* conn, DBusMessage* message, void* user_data ){ + DBusInterface.dbustests.Tests o = cast(DBusInterface.dbustests.Tests)cast(Object)user_data; + if( o is null || !checkIntf( "dbustests.Tests", message) ) + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + try{ + char[METHOD_SIG_MAXLENGTH] buf; + switch( methodSignature( message, buf ) ){ + case "identityVoid|": + { + o.identityVoid(); + sendReply( conn, message ); + } + break; + case "identityBool|b": + { + Struct!( bool ) pi = getCallValues!( bool )( message ); + Struct!( bool ) po; + po.t[0] = o.identityBool( pi.t[0] ); + sendReplyData!( bool )( conn, message, po ); + } + break; + case "identityByte|y": + { + Struct!( byte ) pi = getCallValues!( byte )( message ); + Struct!( byte ) po; + po.t[0] = o.identityByte( pi.t[0] ); + sendReplyData!( byte )( conn, message, po ); + } + break; + case "identityShort|n": + { + Struct!( short ) pi = getCallValues!( short )( message ); + Struct!( short ) po; + po.t[0] = o.identityShort( pi.t[0] ); + sendReplyData!( short )( conn, message, po ); + } + break; + case "identityUShort|q": + { + Struct!( ushort ) pi = getCallValues!( ushort )( message ); + Struct!( ushort ) po; + po.t[0] = o.identityUShort( pi.t[0] ); + sendReplyData!( ushort )( conn, message, po ); + } + break; + case "identityInt|i": + { + Struct!( int ) pi = getCallValues!( int )( message ); + Struct!( int ) po; + po.t[0] = o.identityInt( pi.t[0] ); + sendReplyData!( int )( conn, message, po ); + } + break; + case "identityUInt|u": + { + Struct!( uint ) pi = getCallValues!( uint )( message ); + Struct!( uint ) po; + po.t[0] = o.identityUInt( pi.t[0] ); + sendReplyData!( uint )( conn, message, po ); + } + break; + case "identityLong|x": + { + Struct!( long ) pi = getCallValues!( long )( message ); + Struct!( long ) po; + po.t[0] = o.identityLong( pi.t[0] ); + sendReplyData!( long )( conn, message, po ); + } + break; + case "identityULong|t": + { + Struct!( ulong ) pi = getCallValues!( ulong )( message ); + Struct!( ulong ) po; + po.t[0] = o.identityULong( pi.t[0] ); + sendReplyData!( ulong )( conn, message, po ); + } + break; + case "identityDouble|d": + { + Struct!( double ) pi = getCallValues!( double )( message ); + Struct!( double ) po; + po.t[0] = o.identityDouble( pi.t[0] ); + sendReplyData!( double )( conn, message, po ); + } + break; + case "identityString|s": + { + Struct!( char[] ) pi = getCallValues!( char[] )( message ); + Struct!( char[] ) po; + po.t[0] = o.identityString( pi.t[0] ); + sendReplyData!( char[] )( conn, message, po ); + } + break; + case "identityVariant|v": + { + Struct!( DBusVariant ) pi = getCallValues!( DBusVariant )( message ); + Struct!( DBusVariant ) po; + po.t[0] = o.identityVariant( pi.t[0] ); + sendReplyData!( DBusVariant )( conn, message, po ); + } + break; + case "identityArrayBool|ab": + { + Struct!( bool[] ) pi = getCallValues!( bool[] )( message ); + Struct!( bool[] ) po; + po.t[0] = o.identityArrayBool( pi.t[0] ); + sendReplyData!( bool[] )( conn, message, po ); + } + break; + case "identityArrayByte|ay": + { + Struct!( byte[] ) pi = getCallValues!( byte[] )( message ); + Struct!( byte[] ) po; + po.t[0] = o.identityArrayByte( pi.t[0] ); + sendReplyData!( byte[] )( conn, message, po ); + } + break; + case "identityArrayShort|an": + { + Struct!( short[] ) pi = getCallValues!( short[] )( message ); + Struct!( short[] ) po; + po.t[0] = o.identityArrayShort( pi.t[0] ); + sendReplyData!( short[] )( conn, message, po ); + } + break; + case "identityArrayUShort|aq": + { + Struct!( ushort[] ) pi = getCallValues!( ushort[] )( message ); + Struct!( ushort[] ) po; + po.t[0] = o.identityArrayUShort( pi.t[0] ); + sendReplyData!( ushort[] )( conn, message, po ); + } + break; + case "identityArrayInt|ai": + { + Struct!( int[] ) pi = getCallValues!( int[] )( message ); + Struct!( int[] ) po; + po.t[0] = o.identityArrayInt( pi.t[0] ); + sendReplyData!( int[] )( conn, message, po ); + } + break; + case "identityArrayUInt|au": + { + Struct!( uint[] ) pi = getCallValues!( uint[] )( message ); + Struct!( uint[] ) po; + po.t[0] = o.identityArrayUInt( pi.t[0] ); + sendReplyData!( uint[] )( conn, message, po ); + } + break; + case "identityArrayLong|ax": + { + Struct!( long[] ) pi = getCallValues!( long[] )( message ); + Struct!( long[] ) po; + po.t[0] = o.identityArrayLong( pi.t[0] ); + sendReplyData!( long[] )( conn, message, po ); + } + break; + case "identityArrayULong|at": + { + Struct!( ulong[] ) pi = getCallValues!( ulong[] )( message ); + Struct!( ulong[] ) po; + po.t[0] = o.identityArrayULong( pi.t[0] ); + sendReplyData!( ulong[] )( conn, message, po ); + } + break; + case "identityArrayDouble|ad": + { + Struct!( double[] ) pi = getCallValues!( double[] )( message ); + Struct!( double[] ) po; + po.t[0] = o.identityArrayDouble( pi.t[0] ); + sendReplyData!( double[] )( conn, message, po ); + } + break; + case "identityArrayString|as": + { + Struct!( char[][] ) pi = getCallValues!( char[][] )( message ); + Struct!( char[][] ) po; + po.t[0] = o.identityArrayString( pi.t[0] ); + sendReplyData!( char[][] )( conn, message, po ); + } + break; + case "identityArrayVariant|av": + { + Struct!( DBusVariant[] ) pi = getCallValues!( DBusVariant[] )( message ); + Struct!( DBusVariant[] ) po; + po.t[0] = o.identityArrayVariant( pi.t[0] ); + sendReplyData!( DBusVariant[] )( conn, message, po ); + } + break; + case "Sum|ai": + { + Struct!( int[] ) pi = getCallValues!( int[] )( message ); + Struct!( long ) po; + po.t[0] = o.Sum( pi.t[0] ); + sendReplyData!( long )( conn, message, po ); + } + break; + case "Sum|ay": + { + Struct!( byte[] ) pi = getCallValues!( byte[] )( message ); + Struct!( uint ) po; + po.t[0] = o.Sum( pi.t[0] ); + sendReplyData!( uint )( conn, message, po ); + } + break; + case "InvertMapping|a{ss}": + { + Struct!( char[][ char[] ] ) pi = getCallValues!( char[][ char[] ] )( message ); + Struct!( char[][][ char[] ] ) po; + po.t[0] = o.InvertMapping( pi.t[0] ); + sendReplyData!( char[][][ char[] ] )( conn, message, po ); + } + break; + case "DeStruct|(sun)": + { + Struct!( Struct!( char[], uint, short ) ) pi = getCallValues!( Struct!( char[], uint, short ) )( message ); + Struct!( char[], uint, short ) po; + o.DeStruct( pi.t[0], po.t[0], po.t[1], po.t[2] ); + sendReplyData!( char[], uint, short )( conn, message, po ); + } + break; + case "Primitize|v": + { + Struct!( DBusVariant ) pi = getCallValues!( DBusVariant )( message ); + Struct!( DBusVariant[] ) po; + po.t[0] = o.Primitize( pi.t[0] ); + sendReplyData!( DBusVariant[] )( conn, message, po ); + } + break; + case "Invert|b": + { + Struct!( bool ) pi = getCallValues!( bool )( message ); + Struct!( bool ) po; + po.t[0] = o.Invert( pi.t[0] ); + sendReplyData!( bool )( conn, message, po ); + } + break; + case "signalVoid>": + { + o.signalVoid().opCall(); + } + break; + case "signalInt>i": + { + Struct!( int ) pi = getCallValues!( int )( message ); + o.signalInt().opCall( pi.t[0] ); + } + break; + case "signalStruct>(sun)": + { + Struct!( Struct!( char[], uint, short ) ) pi = getCallValues!( Struct!( char[], uint, short ) )( message ); + o.signalStruct().opCall( pi.t[0] ); + } + break; + case "signalArray>a(sun)": + { + Struct!( Struct!( char[], uint, short )[] ) pi = getCallValues!( Struct!( char[], uint, short )[] )( message ); + o.signalArray().opCall( pi.t[0] ); + } + break; + case "signalVariant>v": + { + Struct!( DBusVariant ) pi = getCallValues!( DBusVariant )( message ); + o.signalVariant().opCall( pi.t[0] ); + } + break; + default: + return DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + } + catch( Exception e ){ + sendException( conn, message, e ); + } + return DBusHandlerResult.DBUS_HANDLER_RESULT_HANDLED; +} + +private void init_handlers(){ + registerHandler( + DBusInterface.org.freedesktop.DBus.Peer.classinfo, + & intfHandler__org_freedesktop_DBus_Peer ); + registerHandler( + DBusInterface.org.freedesktop.DBus.Introspectable.classinfo, + & intfHandler__org_freedesktop_DBus_Introspectable ); + registerHandler( + DBusInterface.org.freedesktop.DBus.Properties.classinfo, + & intfHandler__org_freedesktop_DBus_Properties ); + registerHandler( + DBusInterface.dbustests.Tests.classinfo, + & intfHandler__dbustests_Tests ); +} + +static this(){ + init_introspectionData(); + init_handlers(); +} +