qubes: documentation and licence fixes

This commit is contained in:
Wojtek Porczyk 2015-01-19 18:03:23 +01:00
parent cdc3df66c8
commit ee06e7d7a2
31 changed files with 488 additions and 130 deletions

View File

@ -2,5 +2,7 @@
======================================= =======================================
.. automodule:: qubes.ext .. automodule:: qubes.ext
:members:
:show-inheritance:
.. vim: ts=3 sw=3 et .. vim: ts=3 sw=3 et

View File

@ -1,6 +1,55 @@
:py:mod:`qubes.vm` -- Different Virtual Machine types :py:mod:`qubes.vm` -- Different Virtual Machine types
===================================================== =====================================================
.. automodule:: qubes.vm Main public classes
-------------------
.. autoclass:: qubes.vm.BaseVM
:members:
:show-inheritance:
Helper classes and functions
----------------------------
.. autoclass:: qubes.vm.BaseVMMeta
:members:
:show-inheritance:
.. autoclass:: qubes.vm.DeviceCollection
:members:
:show-inheritance:
.. autoclass:: qubes.vm.DeviceManager
:members:
:show-inheritance:
Particular VM classes
---------------------
Main types:
.. toctree::
:maxdepth: 1
qubesvm
appvm
templatevm
Special VM types:
.. toctree::
:maxdepth: 1
netvm
proxyvm
dispvm
adminvm
HVMs:
.. toctree::
:maxdepth: 1
hvm
.. vim: ts=3 sw=3 et .. vim: ts=3 sw=3 et

View File

@ -1,14 +1,37 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# -*- coding: utf-8 -*- # vim: fileencoding=utf-8
from __future__ import absolute_import #
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2010-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2011-2015 Marek Marczykowski-Górecki
# <marmarek@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
''' '''
Qubes OS Qubes OS
:copyright: © 2010-2014 Invisible Things Lab :copyright: © 2010-2015 Invisible Things Lab
''' '''
from __future__ import absolute_import
__author__ = 'Invisible Things Lab' __author__ = 'Invisible Things Lab'
__license__ = 'GPLv2 or later' __license__ = 'GPLv2 or later'
__version__ = 'R3' __version__ = 'R3'

View File

@ -1,3 +1,6 @@
#!/usr/bin/python2 -O
# vim: fileencoding=utf-8
from qubes.vm import * from qubes.vm import *
from qubes.ext import * from qubes.ext import *

View File

@ -1,25 +1,25 @@
#!/usr/bin/python2 #!/usr/bin/python2 -O
# -*- coding: utf-8 -*- # vim: fileencoding=utf-8
# #
# The Qubes OS Project, http://www.qubes-os.org # The Qubes OS Project, https://www.qubes-os.org/
# #
# Copyright (C) 2010 Joanna Rutkowska <joanna@invisiblethingslab.com> # Copyright (C) 2010-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014 Wojtek Porczyk <woju@invisiblethingslab.com> # Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or modify
# modify it under the terms of the GNU General Public License # it under the terms of the GNU General Public License as published by
# as published by the Free Software Foundation; either version 2 # the Free Software Foundation; either version 2 of the License, or
# of the License, or (at your option) any later version. # (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License along
# along with this program; if not, write to the Free Software # with this program; if not, write to the Free Software Foundation, Inc.,
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# #
qubes_base_dir = "/var/lib/qubes" qubes_base_dir = "/var/lib/qubes"

View File

@ -1,11 +1,31 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# -*- coding: utf-8 -*- # vim: fileencoding=utf-8
'''Documentation helpers #
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2010-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
'''Documentation helpers.
This module contains classes and functions which help to maintain documentation, This module contains classes and functions which help to maintain documentation,
particularly our custom Sphinx extension. particularly our custom Sphinx extension.
''' '''
import csv import csv

View File

@ -1,10 +1,31 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
'''Qubes events. '''Qubes events.
Events are fired when something happens, like VM start or stop, property change Events are fired when something happens, like VM start or stop, property change
etc. etc.
''' '''
import collections import collections
@ -71,7 +92,7 @@ class EmitterMeta(type):
class Emitter(object): class Emitter(object):
'''Subject that can emit events '''Subject that can emit events.
''' '''
__metaclass__ = EmitterMeta __metaclass__ = EmitterMeta
@ -83,7 +104,7 @@ class Emitter(object):
@classmethod @classmethod
def add_handler(cls, event, handler): def add_handler(cls, event, handler):
'''Add event handler to subject's class '''Add event handler to subject's class.
:param str event: event identificator :param str event: event identificator
:param collections.Callable handler: handler callable :param collections.Callable handler: handler callable

View File

@ -1,19 +1,32 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
'''Qubes extensions #
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
'''Qubes extensions.
Extensions provide additional features (like application menus) found only on Extensions provide additional features (like application menus) found only on
some systems. They may be OS- or architecture-dependent or custom-developed for some systems. They may be OS- or architecture-dependent or custom-developed for
particular customer. particular customer.
.. autoclass:: Extension
:members:
:show-inheritance:
.. autoclass:: ExtensionPlugin
:members:
:show-inheritance:
''' '''
import inspect import inspect
@ -64,7 +77,7 @@ def handler(*events, **kwargs):
.. note:: .. note::
This decorator is intended only for extensions! For regular use in the This decorator is intended only for extensions! For regular use in the
core, see py:func:`qubes.events.handler`. core, see :py:func:`qubes.events.handler`.
:param str event: event type :param str event: event type
:param type vm: VM to hook (leave as None to hook all VMs) :param type vm: VM to hook (leave as None to hook all VMs)
@ -87,4 +100,5 @@ def handler(*events, **kwargs):
return decorator return decorator
__all__ = qubes.plugins.load(__file__) __all__ = ['Extension', 'ExtensionPlugin', 'handler'] \
+ qubes.plugins.load(__file__)

View File

@ -1,9 +1,30 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# -*- coding: utf-8 -*- # vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
'''Qubes logging routines '''Qubes logging routines
See also: :py:attr:`qubes.vm.qubesvm.QubesVM.logger` See also: :py:attr:`qubes.vm.qubesvm.QubesVM.log`
''' '''
import logging import logging
@ -31,6 +52,7 @@ def enable():
>>> import logging >>> import logging
>>> logging.warning('Foobar') # doctest: +SKIP >>> logging.warning('Foobar') # doctest: +SKIP
''' '''
if logging.root.handlers: if logging.root.handlers:
return return

View File

@ -1,5 +1,26 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# -*- coding: utf-8 -*- # vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
'''Plugins helpers for Qubes '''Plugins helpers for Qubes

View File

@ -1,4 +1,26 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
from __future__ import print_function from __future__ import print_function

View File

@ -1,23 +1,27 @@
#!/usr/bin/python2 #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
# #
# The Qubes OS Project, http://www.qubes-os.org # The Qubes OS Project, https://www.qubes-os.org/
# #
# Copyright (C) 2013 Marek Marczykowski <marmarek@invisiblethingslab.com> # Copyright (C) 2013-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2013-2015 Marek Marczykowski-Górecki
# <marmarek@invisiblethingslab.com>
# Copyright (C) 2015 Wojtek Porczyk <woju@invisiblethingslab.com> # Copyright (C) 2015 Wojtek Porczyk <woju@invisiblethingslab.com>
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or modify
# modify it under the terms of the GNU General Public License # it under the terms of the GNU General Public License as published by
# as published by the Free Software Foundation; either version 2 # the Free Software Foundation; either version 2 of the License, or
# of the License, or (at your option) any later version. # (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License along
# along with this program; if not, write to the Free Software # with this program; if not, write to the Free Software Foundation, Inc.,
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# #
from __future__ import absolute_import from __future__ import absolute_import

View File

@ -1,24 +1,27 @@
#!/usr/bin/python2 #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
# #
# The Qubes OS Project, http://www.qubes-os.org # The Qubes OS Project, https://www.qubes-os.org/
# #
# Copyright (C) 2013 Marek Marczykowski <marmarek@invisiblethingslab.com> # Copyright (C) 2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2013-2015 Marek Marczykowski-Górecki
# <marmarek@invisiblethingslab.com>
# Copyright (C) 2015 Wojtek Porczyk <woju@invisiblethingslab.com> # Copyright (C) 2015 Wojtek Porczyk <woju@invisiblethingslab.com>
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or modify
# modify it under the terms of the GNU General Public License # it under the terms of the GNU General Public License as published by
# as published by the Free Software Foundation; either version 2 # the Free Software Foundation; either version 2 of the License, or
# of the License, or (at your option) any later version. # (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License along
# along with this program; if not, write to the Free Software # with this program; if not, write to the Free Software Foundation, Inc.,
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# #
from __future__ import absolute_import from __future__ import absolute_import

View File

@ -1,4 +1,26 @@
#!/usr/bin/python -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import collections import collections
import os import os

View File

@ -1,4 +1,26 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import sys import sys
import unittest import unittest

View File

@ -1,4 +1,26 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import os import os
import sys import sys

View File

@ -1,4 +1,26 @@
#!/usr/bin/python -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import curses import curses
import importlib import importlib

View File

@ -1,4 +1,26 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import sys import sys
import unittest import unittest

View File

@ -1,4 +1,26 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import sys import sys
import unittest import unittest

View File

@ -1,4 +1,26 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2014-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import sys import sys
import unittest import unittest

View File

@ -1,25 +1,27 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# -*- coding: utf-8 -*- # vim: fileencoding=utf-8
# The Qubes OS Project, http://www.qubes-os.org
# #
# Copyright (C) 2010 Joanna Rutkowska <joanna@invisiblethingslab.com> # The Qubes OS Project, https://www.qubes-os.org/
# Copyright (C) 2013 Marek Marczykowski <marmarek@invisiblethingslab.com>
# Copyright (C) 2014 Wojtek Porczyk <woju@invisiblethingslab.com>
# #
# This program is free software; you can redistribute it and/or # Copyright (C) 2010-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# modify it under the terms of the GNU General Public License # Copyright (C) 2013-2015 Marek Marczykowski-Górecki
# as published by the Free Software Foundation; either version 2 # <marmarek@invisiblethingslab.com>
# of the License, or (at your option) any later version. # Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License along
# along with this program; if not, write to the Free Software # with this program; if not, write to the Free Software Foundation, Inc.,
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# #

View File

@ -26,50 +26,6 @@
'''Qubes Virtual Machines '''Qubes Virtual Machines
Main public classes
-------------------
.. autoclass:: BaseVM
:members:
:show-inheritance:
Helper classes and functions
----------------------------
.. autoclass:: BaseVMMeta
:members:
:show-inheritance:
Particular VM classes
---------------------
Main types:
.. toctree::
:maxdepth: 1
qubesvm
appvm
templatevm
Special VM types:
.. toctree::
:maxdepth: 1
netvm
proxyvm
dispvm
adminvm
HVMs:
.. toctree::
:maxdepth: 1
hvm
templatehvm
''' '''
import ast import ast
@ -181,9 +137,17 @@ class BaseVM(qubes.PropertyHolder):
def __init__(self, app, xml, load_stage=2, services={}, devices=None, def __init__(self, app, xml, load_stage=2, services={}, devices=None,
tags={}, *args, **kwargs): tags={}, *args, **kwargs):
#: mother :py:class:`qubes.Qubes` object
self.app = app self.app = app
#: dictionary of services that are run on this domain
self.services = services self.services = services
#: :py:class`DeviceManager` object keeping devices that are attached to
#: this domain
self.devices = DeviceManager(self) if devices is None else devices self.devices = DeviceManager(self) if devices is None else devices
#: user-specified tags
self.tags = tags self.tags = tags
self.events_enabled = False self.events_enabled = False
@ -645,4 +609,5 @@ def load(class_, D):
cls = BaseVM[class_] cls = BaseVM[class_]
return cls(D) return cls(D)
__all__ = qubes.plugins.load(__file__) __all__ = ['BaseVMMeta', 'DeviceCollection', 'DeviceManager', 'BaseVM'] \
+ qubes.plugins.load(__file__)

View File

@ -1,4 +1,28 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
#
# The Qubes OS Project, https://www.qubes-os.org/
#
# Copyright (C) 2010-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# Copyright (C) 2013-2015 Marek Marczykowski-Górecki
# <marmarek@invisiblethingslab.com>
# Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import qubes import qubes
import qubes.vm.qubesvm import qubes.vm.qubesvm

View File

@ -1,4 +1,5 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
import qubes.vm.qubesvm import qubes.vm.qubesvm

View File

@ -1,4 +1,5 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
import qubes.vm.qubesvm import qubes.vm.qubesvm

View File

@ -1,4 +1,5 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
import qubes.vm.qubesvm import qubes.vm.qubesvm

View File

@ -1,4 +1,5 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
import qubes.vm.qubesvm import qubes.vm.qubesvm

View File

@ -1,4 +1,5 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
import qubes.vm.netvm import qubes.vm.netvm

View File

@ -1,25 +1,27 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# -*- coding: utf-8 -*- # vim: fileencoding=utf-8
# The Qubes OS Project, http://www.qubes-os.org
# #
# Copyright (C) 2010 Joanna Rutkowska <joanna@invisiblethingslab.com> # The Qubes OS Project, https://www.qubes-os.org/
# Copyright (C) 2013 Marek Marczykowski <marmarek@invisiblethingslab.com>
# Copyright (C) 2014 Wojtek Porczyk <woju@invisiblethingslab.com>
# #
# This program is free software; you can redistribute it and/or # Copyright (C) 2010-2015 Joanna Rutkowska <joanna@invisiblethingslab.com>
# modify it under the terms of the GNU General Public License # Copyright (C) 2013-2015 Marek Marczykowski-Górecki
# as published by the Free Software Foundation; either version 2 # <marmarek@invisiblethingslab.com>
# of the License, or (at your option) any later version. # Copyright (C) 2014-2015 Wojtek Porczyk <woju@invisiblethingslab.com>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License along
# along with this program; if not, write to the Free Software # with this program; if not, write to the Free Software Foundation, Inc.,
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# #
import datetime import datetime

View File

@ -1,4 +1,5 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
import qubes.vm.hvm import qubes.vm.hvm

View File

@ -1,4 +1,5 @@
#!/usr/bin/python2 -O #!/usr/bin/python2 -O
# vim: fileencoding=utf-8
import qubes import qubes
import qubes.vm.qubesvm import qubes.vm.qubesvm