Mono.Zeroconf – Diff between revs 1 and 2

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 1 Rev 2
Line 28... Line 28...
28   28  
29 using System; 29 using System;
30 using System.Net; 30 using System.Net;
31 using System.Threading; 31 using System.Threading;
-   32 using System.Runtime.InteropServices;
Line 32... Line 33...
32 using System.Runtime.InteropServices; 33 using System.Text;
33   34  
34 namespace Mono.Zeroconf.Providers.Bonjour 35 namespace Mono.Zeroconf.Providers.Bonjour
35 { 36 {
Line 40... Line 41...
40 private bool auto_rename = true; 41 private bool auto_rename = true;
Line 41... Line 42...
41 42
Line 42... Line 43...
42 private Native.DNSServiceRegisterReply register_reply_handler; 43 private Native.DNSServiceRegisterReply register_reply_handler;
43 44
44 public event RegisterServiceEventHandler Response; 45 public event RegisterServiceEventHandler Response;
45 46  
46 public RegisterService() 47 public RegisterService()
47 { 48 {
Line 105... Line 106...
105 Marshal.Copy(((TxtRecord)TxtRecord.BaseRecord).RawBytes, txt_rec, 0, txt_rec_length); 106 Marshal.Copy(((TxtRecord)TxtRecord.BaseRecord).RawBytes, txt_rec, 0, txt_rec_length);
106 } 107 }
Line 107... Line 108...
107 108
108 ServiceError error = Native.DNSServiceRegister(out sd_ref, 109 ServiceError error = Native.DNSServiceRegister(out sd_ref,
109 auto_rename ? ServiceFlags.None : ServiceFlags.NoAutoRename, InterfaceIndex, 110 auto_rename ? ServiceFlags.None : ServiceFlags.NoAutoRename, InterfaceIndex,
110 Name, RegType, ReplyDomain, HostTarget, (ushort)IPAddress.HostToNetworkOrder((short)port), txt_rec_length, txt_rec, 111 Encoding.UTF8.GetBytes(Name), RegType, ReplyDomain, HostTarget, (ushort)IPAddress.HostToNetworkOrder((short)port), txt_rec_length, txt_rec,
Line 111... Line 112...
111 register_reply_handler, IntPtr.Zero); 112 register_reply_handler, IntPtr.Zero);
112   113  
113 if(error != ServiceError.NoError) { 114 if(error != ServiceError.NoError) {
Line 126... Line 127...
126 127
127 sd_ref.Deallocate(); 128 sd_ref.Deallocate();
Line 128... Line 129...
128 } 129 }
129 130
130 private void OnRegisterReply(ServiceRef sdRef, ServiceFlags flags, ServiceError errorCode, 131 private void OnRegisterReply(ServiceRef sdRef, ServiceFlags flags, ServiceError errorCode,
131 string name, string regtype, string domain, IntPtr context) 132 IntPtr name, string regtype, string domain, IntPtr context)
Line 132... Line 133...
132 { 133 {
133 RegisterServiceEventArgs args = new RegisterServiceEventArgs(); 134 RegisterServiceEventArgs args = new RegisterServiceEventArgs();
134 135
Line 135... Line 136...
135 args.Service = this; 136 args.Service = this;
136 args.IsRegistered = false; 137 args.IsRegistered = false;
137 args.ServiceError = (ServiceErrorCode)errorCode; 138 args.ServiceError = (ServiceErrorCode)errorCode;
138 139
139 if(errorCode == ServiceError.NoError) { 140 if(errorCode == ServiceError.NoError) {
140 Name = name; 141 Name = Native.Utf8toString(name);