# Path: devicecloud/sci.py
# class DeviceTarget(TargetABC):
#     """Target a specific device"""
# 
#     def __init__(self, device_id):
#         self._device_id = device_id
# 
#     def to_xml(self):
#         return '<device id="{}"/>'.format(self._device_id)
# 
# Path: devicecloud/apibase.py
# class SCIAPIBase(object):
#     """Base class for API classes using SCI to communicate
# 
#     :type _sci_api: devicecloud.sci.ServerCommandInterfaceAPI
#     """
#     def __init__(self, sci_api):
#         self._sci_api = sci_api


import base64
import xml.etree.ElementTree as ET
import six
from collections import namedtuple
from devicecloud.sci import DeviceTarget
from devicecloud.apibase import SCIAPIBase
    :type last_modified: int
    :param size: The size of the file
    :type size: int
    :param hash: The files hash
    :param hash_type: The method used to produce the hash

    :ivar device_id: The Device ID of the device this file is on
    :ivar path: The path to this file on the device
    :ivar last_modified: The last time the file was modified
    :ivar size: The size of the file
    :ivar hash: The files hash
    :ivar hash_type: The method used to produce the hash
    """

    def __init__(self, fssapi, device_id, path, last_modified, size, hash, hash_type):
        self._fssapi = fssapi
        self.device_id = device_id
        self.path = path
        self.last_modified = last_modified
        self.size = size
        self.hash = hash
        self.hash_type = hash_type

    def get_data(self):
        """Get the contents of this file

        :return: The contents of this file
        :rtype: six.binary_type
        """


# Path: devicecloud/sci.py
# class DeviceTarget(TargetABC):
#     """Target a specific device"""
# 
#     def __init__(self, device_id):
#         self._device_id = device_id
# 
#     def to_xml(self):
#         return '<device id="{}"/>'.format(self._device_id)
# 
# Path: devicecloud/apibase.py
# class SCIAPIBase(object):
#     """Base class for API classes using SCI to communicate
# 
#     :type _sci_api: devicecloud.sci.ServerCommandInterfaceAPI
#     """
#     def __init__(self, sci_api):
#         self._sci_api = sci_api


# Path: devicecloud/file_system_service.py
import base64
import xml.etree.ElementTree as ET
import six
from collections import namedtuple
from devicecloud.sci import DeviceTarget
from devicecloud.apibase import SCIAPIBase

    :type last_modified: int
    :param size: The size of the file
    :type size: int
    :param hash: The files hash
    :param hash_type: The method used to produce the hash

    :ivar device_id: The Device ID of the device this file is on
    :ivar path: The path to this file on the device
    :ivar last_modified: The last time the file was modified
    :ivar size: The size of the file
    :ivar hash: The files hash
    :ivar hash_type: The method used to produce the hash
    """

    def __init__(self, fssapi, device_id, path, last_modified, size, hash, hash_type):
        self._fssapi = fssapi
        self.device_id = device_id
        self.path = path
        self.last_modified = last_modified
        self.size = size
        self.hash = hash
        self.hash_type = hash_type

    def get_data(self):
        """Get the contents of this file

        :return: The contents of this file
        :rtype: six.binary_type
        """


        target = DeviceTarget(self.device_id)