From b64a85b48307c063d0034e2c48b7481353d1659d Mon Sep 17 00:00:00 2001 From: Vincent Vinet Date: Thu, 05 Mar 2009 16:49:23 +0000 Subject: Create services --- diff --git a/src/sugar/tutorius/Makefile.am b/src/sugar/tutorius/Makefile.am index d6ce0f1..43cb622 100644 --- a/src/sugar/tutorius/Makefile.am +++ b/src/sugar/tutorius/Makefile.am @@ -5,4 +5,5 @@ sugar_PYTHON = \ dialog.py \ actions.py \ gtkutils.py \ - filters.py + filters.py \ + services.py diff --git a/src/sugar/tutorius/services.py b/src/sugar/tutorius/services.py new file mode 100644 index 0000000..9627282 --- /dev/null +++ b/src/sugar/tutorius/services.py @@ -0,0 +1,66 @@ +# Copyright (C) 2009, Tutorius.org +# Copyright (C) 2009, Vincent Vinet +# +# 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 St, Fifth Floor, Boston, MA 02110-1301 USA +""" +Services + +This module supplies services to be used by States, FSMs, Actions and Filters. + +Services provided are: +-Access to the running activity +-Access to the running tutorial +""" + + +class ObjectStore(object): + #Begin Singleton code + instance=None + def __new__(cls): + if not ObjectStore.instance: + ObjectStore.instance = ObjectStore.__ObjectStore() + + #End Singleton code + class __ObjectStore(object): + """ + The Object Store is a singleton class that allows access to + the current runnign activity and tutorial. + """ + def __init__(self): + self._activity = None + self._tutorial = None + #self._fsm_path = [] + + def set_activity(self, activity): + """Setter for activity""" + self._activity = activity + + def get_activity(self): + """Getter for activity""" + return self._activity + + activity = property(fset=set_activity,fget=get_activity,doc="activity") + + def set_tutorial(self, tutorial): + """Setter for tutorial""" + self._tutorial = tutorial + + def get_tutorial(self): + """Getter for tutorial""" + return self._tutorial + + tutorial = property(fset=set_tutorial,fget=get_tutorial,doc="tutorial") + + __doc__ = __ObjectStore.__doc__ -- cgit v0.9.1