예제 #1
0
            public override nint Read(IntPtr buffer, nuint len)
            {
                var sourceBytes = new byte [len];
                var read        = stream.Read(sourceBytes, 0, (int)len);

                Marshal.Copy(sourceBytes, 0, buffer, (int)len);

                if (notifying)
                {
                    return(read);
                }

                notifying = true;
                if (stream.CanSeek && stream.Position == stream.Length)
                {
                    Notify(CFStreamEventType.EndEncountered);
                    status = NSStreamStatus.AtEnd;
                }
                notifying = false;

                return(read);
            }
예제 #2
0
 public override void Open()
 {
     status = NSStreamStatus.Open;
     Notify(CFStreamEventType.OpenCompleted);
 }
예제 #3
0
 public override void Close()
 {
     status = NSStreamStatus.Closed;
 }
예제 #4
0
 public WrappedNSInputStream(Stream inputStream)
 {
     status = NSStreamStatus.NotOpen;
     stream = inputStream;
     source = new CFRunLoopSource(Handle);
 }
예제 #5
0
 public ZInputStream(long total_length) : base()
 {
     status            = NSStreamStatus.NotOpen;
     this.total_length = total_length;
 }
예제 #6
0
		public override void Close ()
		{
			status = NSStreamStatus.Closed;
		}
예제 #7
0
		public override void Open ()
		{
			status = NSStreamStatus.Open;
			Notify (CFStreamEventType.OpenCompleted);
		}
예제 #8
0
		public ZInputStream (long total_length) : base ()
		{
			status = NSStreamStatus.NotOpen;
			this.total_length = total_length;
		}