private void OnSignalCalled(Signal signal) { if(signal.PathName != PATH_NAME || signal.InterfaceName != INTERFACE_NAME) { return; } InvokeEvent(signal.Name); }
public void SendSignal(string iface, string member, string inSigStr, MessageWriter writer, Type retType, out Exception exception) { exception = null; //TODO: don't ignore retVal, exception etc. Signature outSig = String.IsNullOrEmpty (inSigStr) ? Signature.Empty : new Signature (inSigStr); Signal signal = new Signal (object_path, iface, member); signal.message.Signature = outSig; Message signalMsg = signal.message; signalMsg.Body = writer.ToArray (); conn.Send (signalMsg); }
void RaiseNameSignal(string memberSuffix, string name) { // Name* signals on org.freedesktop.DBus are connection-specific. // We handle them here as a special case. Signal nameSignal = new Signal(Path, DBusInterface, "Name" + memberSuffix); MessageWriter mw = new MessageWriter(); mw.Write(name); nameSignal.message.Body = mw.ToArray(); nameSignal.message.Signature = Signature.StringSig; Caller.Send(nameSignal.message); }