Add BlockDevice

This commit is contained in:
Bahtiar `kalkin-` Gadimov 2016-03-24 22:15:24 +01:00
parent ff28ced03f
commit 2f99efa4b8

View File

@ -6,6 +6,7 @@
# #
# Copyright (C) 2010-2016 Joanna Rutkowska <joanna@invisiblethingslab.com> # Copyright (C) 2010-2016 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2015-2016 Wojtek Porczyk <woju@invisiblethingslab.com> # Copyright (C) 2015-2016 Wojtek Porczyk <woju@invisiblethingslab.com>
# Copyright (C) 2016 Bahtiar `kalkin-` Gadimov <bahtiar@gadimov.de>
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -26,6 +27,7 @@ import re
import qubes import qubes
class DeviceCollection(object): class DeviceCollection(object):
'''Bag for devices. '''Bag for devices.
@ -121,3 +123,16 @@ class RegexDevice(str):
class PCIDevice(RegexDevice): class PCIDevice(RegexDevice):
regex = re.compile( regex = re.compile(
r'^(?P<bus>[0-9a-f]+):(?P<device>[0-9a-f]+)\.(?P<function>[0-9a-f]+)$') r'^(?P<bus>[0-9a-f]+):(?P<device>[0-9a-f]+)\.(?P<function>[0-9a-f]+)$')
class BlockDevice(object):
def __init__(self, path, name, script=None, rw=True, domain=None,
devtype='disk'):
assert name, 'Missing device name'
assert path, 'Missing device path'
self.path = path
self.name = name
self.rw = rw
self.script = script
self.domain = domain
self.devtype = devtype