stdout.d (988B)
1 module bastlibridge.interfaces.stdout; 2 import bastlibridge.base; 3 import std.process; 4 import std.experimental.logger; 5 import std.datetime: SysTime, Clock; 6 7 final class NullMessage : Message{ 8 string msg; 9 this(Endpoint ep, string msg){ 10 this.msg=msg; 11 this.source=ep; 12 } 13 override const(char)[] userName(){ 14 return environment["USER"]; 15 } 16 override const(char)[] getMessage(){ 17 return msg; 18 } 19 override const(char)[] getChannelName(){ 20 return "stdio"; 21 } 22 override bool auth(){ 23 return true; 24 } 25 override SysTime getTime(){ 26 return Clock.currTime; 27 } 28 override void respond(in char[] response){ 29 warning(response); 30 } 31 } 32 33 final class NullEndpoint : Endpoint{ 34 35 this(Manager m, string args){ 36 super(m,args); 37 } 38 override void open(){} 39 override Channel join(string c){return new NullChan();} 40 override void part(Channel c){} 41 override void sendMessage(Message m, Channel c){info(m.getMessage);} 42 override void run(){} 43 override void stop(){} 44 } 45 46 final class NullChan : Channel{ 47 48 }