[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/2php/cefpython/cefpython31/cefpython/stream.pyx [Back]  [Original]

# Copyright (c) 2012-2014 The CEF Python authors. All rights reserved.
# License: New BSD License.
# Website: http://code.google.com/p/cefpython/

cdef class PyStreamReader:
    cdef CefRefPtr[CefStreamReader] cefStreamReader
    
    cdef cpp_bool HasCefStreamReader(self) except *:
        if self.cefStreamReader != NULL and self.cefStreamReader.get():
            return True
        return False

    cdef CefRefPtr[CefStreamReader] GetCefStreamReader(self) except *:
        if self.HasCefStreamReader():
            return self.cefStreamReader
        return NULL

    cpdef py_void SetFile(self, py_string file):
        if os.path.exists(file):
            self.cefStreamReader = cef_stream_static.CreateForFile(
                    PyToCefStringValue(file))
        else:
            raise Exception("File does not exist: %s" % file)

    cpdef py_void SetData(self, py_string data):
        cdef cpp_string cppString = data
        # CreateForData() requires "void* data", we can't just pass
        # cppString.c_str() as it is const, we need to copy all data.
        cdef void* voidData
        cdef int dataLength = cppString.length()
        voidData = malloc(dataLength)
        memcpy(voidData, cppString.c_str(), dataLength)
        self.cefStreamReader = cef_stream_static.CreateForData(
                voidData, dataLength)
        free(voidData)

Web Proxy Viewer  |  New URL  |  Original Page