annotate dbus-d-javatests/jsrc/filetree/DataFileSystem.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Generated with TioLink
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * TioLink was written by Frank Benoit <benoit@tionex.de>
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * http://www.dsource.org/projects/tiolink
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 *
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * User specific code can be place after the generated comment line containing:
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 * "USER CONTENT STARTS HERE".
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Everything before that line will be programmatically overwritten.
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 *
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * File type: D programming language source code
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 */
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 module filetree.DataFileSystem;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14 import org.freedesktop.dbus.DBus;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 import org.freedesktop.dbus.Introspectable;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 // Interface for DataFileSystem
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 interface DataFileSystem : org.freedesktop.dbus.DBusInterface.DBusInterface {
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 public filetree.DataItem.DataItem[] getRoots();
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 const static char[] introspectionXml =
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 `<interface name="filetree.DataFileSystem"/>`\n
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 ` <method name="getRoots">`\n
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 ` <arg name="p0" type="ao" direction="out"/>`\n
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 ` </method>`\n
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 `</interface>`\n
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 ;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 CConnection.DBusHandlerResult intfHandler__filetree_DataFileSystem_DataFileSystem( CConnection.DBusConnection* conn, CConnection.DBusMessage* message, void* user_data ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 DataFileSystem o = cast(DataFileSystem)cast(Object)user_data;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 if( o is null || !checkIntf( "filetree.DataFileSystem", message) )
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 return CConnection.DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 try{
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 char[METHOD_SIG_MAXLENGTH] buf;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 switch( methodSignature( message, buf ) ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 case "getRoots|":
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 {
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 filetree.DataItem.DataItem[] callResult = o.getRoots();
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 sendReply( conn, message, callResult );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 break;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 default:
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 return CConnection.DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 catch( Exception e ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 sendException( conn, message, e );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 return CConnection.DBusHandlerResult.DBUS_HANDLER_RESULT_HANDLED;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 void intfFree__filetree_DataFileSystem_DataFileSystem( CConnection.DBusConnection *connection, void *user_data ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 // Dimpl for MyDataFileSystem
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 extern(C) CConnection.DBusHandlerResult dimplHandler__filetree_DataFileSystem_MyDataFileSystem( CConnection.DBusConnection* conn, CConnection.DBusMessage* message, void* user_data ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 CConnection.DBusHandlerResult res = CConnection.DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 if( res == CConnection.DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 res = intfHandler__filetree_DataFileSystem_DataFileSystem( conn, message, user_data );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 if( res == CConnection.DBusHandlerResult.DBUS_HANDLER_RESULT_NOT_YET_HANDLED ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 res = intfHandler__org_freedesktop_dbus_Introspectable_Introspectable( conn, message, user_data );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 return res;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 extern(C) void dimplFree__filetree_DataFileSystem_MyDataFileSystem( CConnection.DBusConnection *connection, void *user_data ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 CConnection.DBusObjectPathVTable vtable__filetree_DataFileSystem_MyDataFileSystem = {
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 unregister_function : & dimplFree__filetree_DataFileSystem_MyDataFileSystem,
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 message_function : & dimplHandler__filetree_DataFileSystem_MyDataFileSystem
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 };
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 static assert( is( MyDataFileSystem : filetree.DataFileSystem.DataFileSystem ));
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 static assert( is( MyDataFileSystem : org.freedesktop.dbus.Introspectable.Introspectable ));
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 // --- USER CONTENT STARTS HERE (do not change this marker line) ---
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 import tango.io.Stdout;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 import tango.io.FileRoots;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 import tango.io.FilePath;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 import filetree.DataItem;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 class MyDataFileSystem : DBusObject, DataFileSystem, Introspectable {
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 public this(){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 super( this.classinfo );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 public DBusObjectPathVTable* getDBusVTable(){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 return &vtable__filetree_DataFileSystem_MyDataFileSystem;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 public DataItem[] getRoots(){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 auto roots = FileRoots.list();
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 DataItem[] res = new DataItem[ roots.length ];
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 for( int i = 0; i < roots.length; i++ ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 res[i] = new MyDataItem( new FilePath(roots[i]) );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 return res;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 public char[] Introspect(){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 Stdout.formatln( "FileSys inspect" );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 return buildIntrospect( [DataFileSystem.introspectionXml, Introspectable.introspectionXml ], null );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 /+
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 public this( char[] path ){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 super( new FilePath( path ));
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 public String getName(){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 char[] name = file.toUtf8();
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 Stdout.formatln( "{} {} {}", __LINE__, __FILE__, name );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 auto res = toJavaString( name );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 Stdout.formatln( "{} {} ", __LINE__, __FILE__ );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 return res;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 // return toJavaString( file.name() );
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 public override bool isFolder(){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 return true;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 public override bool isDrive(){
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 return true;
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 +/
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 }
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134
a5576806d36d recreate repository without any libs for lightweight repository
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135