NDesk.DBus.MessageWriter.Write C# (CSharp) Method

Write() public method

public Write ( ulong val ) : void
val ulong
return void
        public unsafe void Write(ulong val)
        {
            MarshalULong ((byte*)&val);
        }

Same methods

MessageWriter::Write ( DType dtype, object val ) : void
MessageWriter::Write ( NDesk.DBus.ObjectPath val ) : void
MessageWriter::Write ( Signature val ) : void
MessageWriter::Write ( Type type, object val ) : void
MessageWriter::Write ( bool val ) : void
MessageWriter::Write ( byte val ) : void
MessageWriter::Write ( double val ) : void
MessageWriter::Write ( float val ) : void
MessageWriter::Write ( int val ) : void
MessageWriter::Write ( long val ) : void
MessageWriter::Write ( object val ) : void
MessageWriter::Write ( short val ) : void
MessageWriter::Write ( string val ) : void
MessageWriter::Write ( uint val ) : void
MessageWriter::Write ( ushort val ) : void

Usage Example

		public void HandleMethodCall (MethodCall method_call)
		{
			Type type = obj.GetType ();
			//object retObj = type.InvokeMember (msg.Member, BindingFlags.InvokeMethod, null, obj, MessageHelper.GetDynamicValues (msg));

			//TODO: there is no member name mapping for properties etc. yet
			MethodInfo mi = Mapper.GetMethod (type, method_call);

			if (mi == null) {
				conn.MaybeSendUnknownMethodError (method_call);
				return;
			}

			object retObj = null;
			try {
				object[] inArgs = MessageHelper.GetDynamicValues (method_call.message, mi.GetParameters ());
				retObj = mi.Invoke (obj, inArgs);
			} catch (TargetInvocationException e) {
				if (!method_call.message.ReplyExpected)
					return;

				Exception ie = e.InnerException;
				//TODO: complete exception sending support

				Error error = new Error (Mapper.GetInterfaceName (ie.GetType ()), method_call.message.Header.Serial);
				error.message.Signature = new Signature (DType.String);

				MessageWriter writer = new MessageWriter (Connection.NativeEndianness);
				writer.connection = conn;
				writer.Write (ie.Message);
				error.message.Body = writer.ToArray ();

				//TODO: we should be more strict here, but this fallback was added as a quick fix for p2p
				if (method_call.Sender != null)
					error.message.Header.Fields[FieldCode.Destination] = method_call.Sender;

				conn.Send (error.message);
				return;
			}

			if (method_call.message.ReplyExpected) {
				/*
				object[] retObjs;

				if (retObj == null) {
					retObjs = new object[0];
				} else {
					retObjs = new object[1];
					retObjs[0] = retObj;
				}

				Message reply = ConstructReplyFor (method_call, retObjs);
				*/
				Message reply = MessageHelper.ConstructReplyFor (method_call, mi.ReturnType, retObj);
				conn.Send (reply);
			}
		}
All Usage Examples Of NDesk.DBus.MessageWriter::Write