Esempio n. 1
0
        /// <summary>
        /// Create a new CfxXmlReader object. The returned object's functions can
        /// only be called from the thread that created the object.
        /// </summary>
        /// <remarks>
        /// See also the original CEF documentation in
        /// <see href="https://bitbucket.org/chromiumfx/chromiumfx/src/tip/cef/include/capi/cef_xml_reader_capi.h">cef/include/capi/cef_xml_reader_capi.h</see>.
        /// </remarks>
        public static CfxXmlReader Create(CfxStreamReader stream, CfxXmlEncodingType encodingType, string uri)
        {
            var uri_pinned = new PinnedString(uri);
            var __retval   = CfxApi.cfx_xml_reader_create(CfxStreamReader.Unwrap(stream), (int)encodingType, uri_pinned.Obj.PinnedPtr, uri_pinned.Length);

            uri_pinned.Obj.Free();
            return(CfxXmlReader.Wrap(__retval));
        }
Esempio n. 2
0
 internal static CfxXmlReader Wrap(IntPtr nativePtr)
 {
     if (nativePtr == IntPtr.Zero)
     {
         return(null);
     }
     lock (weakCache) {
         var wrapper = (CfxXmlReader)weakCache.Get(nativePtr);
         if (wrapper == null)
         {
             wrapper = new CfxXmlReader(nativePtr);
             weakCache.Add(wrapper);
         }
         else
         {
             CfxApi.cfx_release(nativePtr);
         }
         return(wrapper);
     }
 }
Esempio n. 3
0
 internal static CfxXmlReader Wrap(IntPtr nativePtr)
 {
     if(nativePtr == IntPtr.Zero) return null;
     lock(weakCache) {
         var wrapper = (CfxXmlReader)weakCache.Get(nativePtr);
         if(wrapper == null) {
             wrapper = new CfxXmlReader(nativePtr);
             weakCache.Add(wrapper);
         } else {
             CfxApi.cfx_release(nativePtr);
         }
         return wrapper;
     }
 }