Exemplo n.º 1
0
    def close(cls, fp):
        """
        :type fp: asio.interfaces.windows.WindowsFile
        :rtype: bool
        """
        if fp.map_view:
            WindowsInterop.unmap_view_of_file(fp.map_view)

        if fp.file_map:
            WindowsInterop.close_handle(fp.file_map)

        return bool(WindowsInterop.close_handle(fp.handle))
Exemplo n.º 2
0
    def close(cls, fp):
        """
        :type fp: asio.interfaces.windows.WindowsFile
        :rtype: bool
        """
        if fp.map_view:
            WindowsInterop.unmap_view_of_file(fp.map_view)

        if fp.file_map:
            WindowsInterop.close_handle(fp.file_map)

        return bool(WindowsInterop.close_handle(fp.handle))
Exemplo n.º 3
0
    def get_path(cls, fp):
        """
        :type fp: asio.interfaces.windows.WindowsFile
        :rtype: str
        """

        if not fp.file_map:
            fp.file_map = WindowsInterop.create_file_mapping(fp.handle, WindowsInterface.Protection.READONLY)

        if not fp.map_view:
            fp.map_view = WindowsInterop.map_view_of_file(fp.file_map, WindowsInterface.FileMapAccess.READ, 1)

        file_name = WindowsInterop.get_mapped_file_name(fp.map_view)

        return file_name
Exemplo n.º 4
0
 def read_into(cls, fp, b):
     """
     :type fp: asio.interfaces.windows.WindowsFile
     :type b: str
     :rtype: int
     """
     return WindowsInterop.read_into(fp.handle, b)
Exemplo n.º 5
0
 def read(cls, fp, n=DEFAULT_BUFFER_SIZE):
     """
     :type fp: asio.interfaces.windows.WindowsFile
     :type n: int
     :rtype: str
     """
     return WindowsInterop.read(fp.handle, n)
Exemplo n.º 6
0
 def read_into(cls, fp, b):
     """
     :type fp: asio.interfaces.windows.WindowsFile
     :type b: str
     :rtype: int
     """
     return WindowsInterop.read_into(fp.handle, b)
Exemplo n.º 7
0
 def read(cls, fp, n=DEFAULT_BUFFER_SIZE):
     """
     :type fp: asio.interfaces.windows.WindowsFile
     :type n: int
     :rtype: str
     """
     return WindowsInterop.read(fp.handle, n)
Exemplo n.º 8
0
    def get_path(cls, fp):
        """
        :type fp: asio.interfaces.windows.WindowsFile
        :rtype: str
        """

        if not fp.file_map:
            fp.file_map = WindowsInterop.create_file_mapping(
                fp.handle, WindowsInterface.Protection.READONLY)

        if not fp.map_view:
            fp.map_view = WindowsInterop.map_view_of_file(
                fp.file_map, WindowsInterface.FileMapAccess.READ, 1)

        file_name = WindowsInterop.get_mapped_file_name(fp.map_view)

        return file_name
Exemplo n.º 9
0
    def seek(cls, fp, offset, origin):
        """
        :type fp: asio.interfaces.windows.WindowsFile
        :type offset: int
        :type origin: int
        :rtype: int
        """

        return WindowsInterop.set_file_pointer(fp.handle, offset, origin)
Exemplo n.º 10
0
    def seek(cls, fp, offset, origin):
        """
        :type fp: asio.interfaces.windows.WindowsFile
        :type offset: int
        :type origin: int
        :rtype: int
        """

        return WindowsInterop.set_file_pointer(
            fp.handle,
            offset,
            origin
        )
Exemplo n.º 11
0
    def open(cls, file_path, parameters=None):
        """
        :type file_path: str
        :rtype: asio.interfaces.windows.WindowsFile
        """
        if not parameters:
            parameters = {}

        return WindowsFile(WindowsInterop.create_file(
            file_path,
            parameters.get('desired_access', WindowsInterface.GenericAccess.READ),
            parameters.get('share_mode', WindowsInterface.ShareMode.ALL),
            parameters.get('creation_disposition', WindowsInterface.CreationDisposition.OPEN_EXISTING),
            parameters.get('flags_and_attributes', NULL)
        ))
Exemplo n.º 12
0
    def open(cls, file_path, parameters=None):
        """
        :type file_path: str
        :rtype: asio.interfaces.windows.WindowsFile
        """
        if not parameters:
            parameters = {}

        return WindowsFile(
            WindowsInterop.create_file(
                file_path,
                parameters.get('desired_access',
                               WindowsInterface.GenericAccess.READ),
                parameters.get('share_mode', WindowsInterface.ShareMode.ALL),
                parameters.get(
                    'creation_disposition',
                    WindowsInterface.CreationDisposition.OPEN_EXISTING),
                parameters.get('flags_and_attributes', NULL)))
Exemplo n.º 13
0
 def get_size(cls, fp):
     """
     :type fp: asio.interfaces.windows.WindowsFile
     :rtype: int
     """
     return WindowsInterop.get_file_size(fp.handle)
Exemplo n.º 14
0
 def get_size(cls, fp):
     """
     :type fp: asio.interfaces.windows.WindowsFile
     :rtype: int
     """
     return WindowsInterop.get_file_size(fp.handle)