public void Resume(bool success, string message = "") { var r = MarshalFromNative<CefJsdialogCallback>(); var action = (CefJsdialogHandlerCapiDelegates.ContCallback6) Marshal.GetDelegateForFunctionPointer(r.Cont, typeof (CefJsdialogHandlerCapiDelegates.ContCallback6)); var input = new StringUtf16(message); action(Handle, Convert.ToInt32(success), input.Handle); input.Free(); }
public static Browser CreateBrowser(BrowserCreationArgs a) { var uri = new StringUtf16(a.StartUri.AbsoluteUri); Reference.Increment(a.ClientHandler.Handle); var handle = CefBrowserCapi.CefBrowserHostCreateBrowserSync( a.WindowInfo.Handle, a.ClientHandler.Handle, uri.Handle, a.Settings.Handle); uri.Free(); return Browser.FromHandle(handle); }
public void Register(ISchemeHandlerFactoryDescriptor descriptor) { if (descriptor == null) { throw new ArgumentNullException("descriptor"); } var s = new StringUtf16(descriptor.SchemeName); var d = new StringUtf16(descriptor.DomainName); CefSchemeCapi.CefRegisterSchemeHandlerFactory(s.Handle, d.Handle, descriptor.Factory.Handle); d.Free(); s.Free(); }
public void Register(ISchemeDescriptor descriptor) { var r = MarshalFromNative<CefSchemeRegistrar>(); var function = (CefSchemeCapiDelegates.AddCustomSchemeCallback) Marshal.GetDelegateForFunctionPointer(r.AddCustomScheme, typeof (CefSchemeCapiDelegates.AddCustomSchemeCallback)); var name = new StringUtf16(descriptor.Scheme); var isStandard = descriptor.SchemeProperties.HasFlag(SchemeProperties.Standard) ? 1 : 0; var isLocal = descriptor.SchemeProperties.HasFlag(SchemeProperties.Local) ? 1 : 0; var isDisplayIsolated = descriptor.SchemeProperties.HasFlag(SchemeProperties.DisplayIsolated) ? 1 : 0; var result = function(Handle, name.Handle, isStandard, isLocal, isDisplayIsolated); var success = Convert.ToBoolean(result); if (!success) { Debug.WriteLine("Error registering custom scheme '{0}'. See debug.log for details.", descriptor.Scheme); } }
public static void Register(string scheme, string domain, SchemeHandlerFactory factory) { if (scheme == null) { throw new ArgumentNullException("scheme"); } if (domain == null) { throw new ArgumentNullException("domain"); } if (factory == null) { throw new ArgumentNullException("factory"); } var s = new StringUtf16(scheme); var d = new StringUtf16(domain); CefSchemeCapi.CefRegisterSchemeHandlerFactory(s.NativeHandle, d.NativeHandle, factory.NativeHandle); d.Free(); s.Free(); }
public Data(byte[] recievedBytes) { using (var br = new BinaryReader(new MemoryStream(recievedBytes))) { this.Head = br.ReadBytes(2); this.Length = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0); this.Params = new List <Param>(); for (; ;) { if (!(br.BaseStream.Length - br.BaseStream.Position > 4)) { break; } var type = (ParamType)(BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0)); if (type == ParamType.PacketEnd) { break; } switch (type) { case ParamType.StringAnsi: { var param = new StringAnsi { Unknown = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0), length = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0), Type = ParamType.StringAnsi }; param.Value = Encoding.ASCII.GetString(br.ReadBytes(param.length)); this.Params.Add(param); break; } case ParamType.StringUtf16: { var param = new StringUtf16 { Unknown = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0), length = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0), Type = ParamType.StringUtf16 }; param.Value = Encoding.BigEndianUnicode.GetString(br.ReadBytes(param.length * 2)); this.Params.Add(param); break; } case ParamType.Byte: { var param = new Byte_ { Value = br.ReadSByte(), Type = ParamType.Byte }; this.Params.Add(param); break; } case ParamType.Uint32: { var param = new Uint_32 { Value = BitConverter.ToUInt32(br.ReadBytes(4).Reverse().ToArray(), 0), Type = ParamType.Uint32 }; this.Params.Add(param); break; } case ParamType.Int32: { var param = new Int_32 { Value = BitConverter.ToInt32(br.ReadBytes(4).Reverse().ToArray(), 0), Type = ParamType.Int32 }; this.Params.Add(param); break; } case ParamType.Int64: { var param = new Int_64 { Value = BitConverter.ToInt64(br.ReadBytes(4).Reverse().ToArray(), 0), Type = ParamType.Int64 }; this.Params.Add(param); break; } default: break; } } } }