Package asmach

Source Code for Package asmach

 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 asmach.log import\ 
31          set_loggers,\ 
32          loginfo,\ 
33          logwarn,\ 
34          logerr,\ 
35          logdebug 
36   
37  from asmach.exceptions import\ 
38          InvalidTransitionError,\ 
39          InvalidStateError,\ 
40          InvalidConstructionError,\ 
41          InvalidUserCodeError 
42   
43  ### Core classes 
44  import asmach.async as async 
45  from asmach.state import State, CBState 
46  from asmach.user_data import UserData, Remapper 
47  from asmach.container import Container 
48   
49  from asmach.util import\ 
50          is_shutdown, set_shutdown_check,\ 
51          has_smach_interface, cb_interface, CBInterface 
52   
53  ### Containers 
54  from asmach.state_machine import StateMachine 
55  from asmach.sequence import Sequence 
56  from asmach.concurrence import Concurrence 
57  from asmach.iterator import Iterator 
58