Package smach

Source Code for Package smach

 1  # Copyright (c) 2010, Willow Garage, Inc. 
 2  # All rights reserved. 
 3  #  
 4  # Redistribution and use in source and binary forms, with or without 
 5  # modification, are permitted provided that the following conditions are met: 
 6  #  
 7  #     * Redistributions of source code must retain the above copyright 
 8  #       notice, this list of conditions and the following disclaimer. 
 9  #     * Redistributions in binary form must reproduce the above copyright 
10  #       notice, this list of conditions and the following disclaimer in the 
11  #       documentation and/or other materials provided with the distribution. 
12  #     * Neither the name of the Willow Garage, Inc. nor the names of its 
13  #       contributors may be used to endorse or promote products derived from 
14  #       this software without specific prior written permission. 
15  #  
16  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
17  # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
18  # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
19  # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
20  # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
21  # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
22  # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
23  # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
24  # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
25  # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
26   
27  # Define default logging macros 
28   
29  ### Utilities 
30  from smach.log import\ 
31          set_loggers,\ 
32          loginfo,\ 
33          logwarn,\ 
34          logerr,\ 
35          logdebug 
36   
37  from smach.exceptions import\ 
38          InvalidTransitionError,\ 
39          InvalidStateError,\ 
40          InvalidConstructionError,\ 
41          InvalidUserCodeError 
42   
43  ### Core classes 
44  from smach.state import State, CBState 
45  from smach.user_data import UserData, Remapper 
46  from smach.container import Container 
47   
48  from smach.util import\ 
49          is_shutdown, set_shutdown_check,\ 
50          has_smach_interface, cb_interface, CBInterface 
51   
52  ### Containers 
53  from smach.state_machine import StateMachine 
54  from smach.sequence import Sequence 
55  from smach.concurrence import Concurrence 
56  from smach.iterator import Iterator 
57