db86451c7f
the busName and interfacePath types transparently cast down to a string, (but not the other way around) so they are a perfect upgrade to type-safety. The only downside to them is that templates can often get them wrong. std.conv.to will return with a cast(T) prefix, which could slightly break existing code. I think the type-safety advantages are outweighing this corner case though. The current API has been fully upgraded and examples still run and work.
23 lines
752 B
D
23 lines
752 B
D
import core.time;
|
|
import std.stdio;
|
|
import ddbus;
|
|
|
|
void testCall(Connection conn) {
|
|
for(int i = 0; i < 50; i++) {
|
|
Message msg = Message(busName("ca.thume.transience"), ObjectPath("/ca/thume/transience/screensurface"),
|
|
interfaceName("ca.thume.transience.screensurface"), "testDot");
|
|
conn.sendBlocking(msg);
|
|
}
|
|
Message msg2 = Message(busName("ca.thume.transience"), ObjectPath("/ca/thume/transience/screensurface"),
|
|
interfaceName("ca.thume.transience.screensurface"), "testPing");
|
|
Message res = conn.sendWithReplyBlocking(msg2, 3.seconds);
|
|
int result = res.read!int();
|
|
writeln(result);
|
|
}
|
|
|
|
void main() {
|
|
Connection conn = connectToBus();
|
|
testCall(conn);
|
|
writeln("It worked!");
|
|
}
|