OpenASIP  2.0
ProDeEditPolicyFactory.cc
Go to the documentation of this file.
1 /*
2  Copyright (c) 2002-2009 Tampere University.
3 
4  This file is part of TTA-Based Codesign Environment (TCE).
5 
6  Permission is hereby granted, free of charge, to any person obtaining a
7  copy of this software and associated documentation files (the "Software"),
8  to deal in the Software without restriction, including without limitation
9  the rights to use, copy, modify, merge, publish, distribute, sublicense,
10  and/or sell copies of the Software, and to permit persons to whom the
11  Software is furnished to do so, subject to the following conditions:
12 
13  The above copyright notice and this permission notice shall be included in
14  all copies or substantial portions of the Software.
15 
16  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  DEALINGS IN THE SOFTWARE.
23  */
24 /**
25  * @file ProDeEditPolicyFactory.cc
26  *
27  * Implementation of ProDeEditPolicyFactory class.
28  *
29  * @author Veli-Pekka Jääskeläinen 2005 (vjaaskel-no.spam-cs.tut.fi)
30  * @note rating: red
31  */
32 
34 
35 #include "ProDeFUEditPolicy.hh"
36 #include "ProDeRFEditPolicy.hh"
37 #include "ProDeIUEditPolicy.hh"
38 #include "ProDeGCUEditPolicy.hh"
39 #include "ProDePortEditPolicy.hh"
40 #include "ProDeBusEditPolicy.hh"
41 #include "ProDeSocketEditPolicy.hh"
43 #include "ProDeBridgeEditPolicy.hh"
44 #include "ProDeFUPortEditPolicy.hh"
45 #include "ProDeRFPortEditPolicy.hh"
46 #include "ProDeIUPortEditPolicy.hh"
47 #include "ProDeSRPortEditPolicy.hh"
48 
49 /**
50  * The Constructor.
51  */
53 }
54 
55 /**
56  * The Destructor.
57  */
59 }
60 
61 /**
62  * Returns edit policy for function units.
63  *
64  * @return Function unit edit policy.
65  */
68  return new ProDeFUEditPolicy();
69 }
70 
71 /**
72  * Returns edit policy for register files.
73  *
74  * @return Register file edit policy.
75  */
78  return new ProDeRFEditPolicy();
79 }
80 
81 /**
82  * Returns edit policy for immediate units.
83  *
84  * @return Immediate unit edit policy.
85  */
88  return new ProDeIUEditPolicy();
89 }
90 
91 /**
92  * Returns edit policy for global control unit.
93  *
94  * @return Global control unit edit policy.
95  */
98  return new ProDeGCUEditPolicy();
99 }
100 
101 /**
102  * Returns edit policy for function unit ports.
103  *
104  * @return Function unit port edit policy.
105  */
106 EditPolicy*
108  return new ProDeFUPortEditPolicy();
109 }
110 
111 /**
112  * Returns edit policy for register file ports.
113  *
114  * @return Register file port edit policy.
115  */
116 EditPolicy*
118  return new ProDeRFPortEditPolicy();
119 }
120 
121 /**
122  * Returns edit policy for immediate unit ports.
123  *
124  * @return Immediate unit port edit policy.
125  */
126 EditPolicy*
128  return new ProDeIUPortEditPolicy();
129 }
130 
131 /**
132  * Returns edit policy for special register ports.
133  *
134  * @return Special register port edit policy.
135  */
136 EditPolicy*
138  return new ProDeSRPortEditPolicy();
139 }
140 
141 /**
142  * Returns edit policy for ports.
143  *
144  * @return Port edit policy.
145  */
146 EditPolicy*
148  return new ProDePortEditPolicy();
149 }
150 
151 /**
152  * Returns edit policy for buses.
153  *
154  * @return Bus edit policy.
155  */
156 EditPolicy*
158  return new ProDeBusEditPolicy();
159 }
160 
161 /**
162  * Returns edit policy for sockets.
163  *
164  * @return Socket edit policy.
165  */
166 EditPolicy*
168  return new ProDeSocketEditPolicy();
169 }
170 
171 /**
172  * Returns edit policy for bus segments.
173  *
174  * @return Segment edit policy.
175  */
176 EditPolicy*
178  return new ProDeSegmentEditPolicy();
179 }
180 
181 /**
182  * Returns edit policy for bridgs.
183  *
184  * @return Bridge edit policy.
185  */
186 EditPolicy*
188  return new ProDeBridgeEditPolicy();
189 }
ProDeRFPortEditPolicy.hh
ProDeGCUEditPolicy
Definition: ProDeGCUEditPolicy.hh:50
ProDeIUPortEditPolicy.hh
ProDeGCUEditPolicy.hh
ProDeFUEditPolicy.hh
ProDeEditPolicyFactory::createFUEditPolicy
virtual EditPolicy * createFUEditPolicy()
Definition: ProDeEditPolicyFactory.cc:67
ProDeRFEditPolicy.hh
ProDeEditPolicyFactory::createSRPortEditPolicy
virtual EditPolicy * createSRPortEditPolicy()
Definition: ProDeEditPolicyFactory.cc:137
ProDeIUEditPolicy.hh
ProDeRFPortEditPolicy
Definition: ProDeRFPortEditPolicy.hh:48
ProDeEditPolicyFactory::createIUEditPolicy
virtual EditPolicy * createIUEditPolicy()
Definition: ProDeEditPolicyFactory.cc:87
ProDeSocketEditPolicy
Definition: ProDeSocketEditPolicy.hh:49
ProDeEditPolicyFactory::createGCUEditPolicy
virtual EditPolicy * createGCUEditPolicy()
Definition: ProDeEditPolicyFactory.cc:97
ProDePortEditPolicy.hh
ProDeRFEditPolicy
Definition: ProDeRFEditPolicy.hh:50
ProDeIUEditPolicy
Definition: ProDeIUEditPolicy.hh:49
ProDeEditPolicyFactory::createSegmentEditPolicy
virtual EditPolicy * createSegmentEditPolicy()
Definition: ProDeEditPolicyFactory.cc:177
ProDeSRPortEditPolicy.hh
ProDeFUPortEditPolicy.hh
ProDeEditPolicyFactory::createFUPortEditPolicy
virtual EditPolicy * createFUPortEditPolicy()
Definition: ProDeEditPolicyFactory.cc:107
ProDeEditPolicyFactory::ProDeEditPolicyFactory
ProDeEditPolicyFactory()
Definition: ProDeEditPolicyFactory.cc:52
ProDeBridgeEditPolicy
Definition: ProDeBridgeEditPolicy.hh:49
ProDeEditPolicyFactory::createIUPortEditPolicy
virtual EditPolicy * createIUPortEditPolicy()
Definition: ProDeEditPolicyFactory.cc:127
ProDePortEditPolicy
Definition: ProDePortEditPolicy.hh:49
ProDeIUPortEditPolicy
Definition: ProDeIUPortEditPolicy.hh:48
ProDeBridgeEditPolicy.hh
ProDeEditPolicyFactory::createPortEditPolicy
virtual EditPolicy * createPortEditPolicy()
Definition: ProDeEditPolicyFactory.cc:147
EditPolicy
Definition: EditPolicy.hh:47
ProDeFUPortEditPolicy
Definition: ProDeFUPortEditPolicy.hh:48
ProDeEditPolicyFactory::createSocketEditPolicy
virtual EditPolicy * createSocketEditPolicy()
Definition: ProDeEditPolicyFactory.cc:167
ProDeFUEditPolicy
Definition: ProDeFUEditPolicy.hh:49
ProDeEditPolicyFactory::createBusEditPolicy
virtual EditPolicy * createBusEditPolicy()
Definition: ProDeEditPolicyFactory.cc:157
ProDeEditPolicyFactory::createRFPortEditPolicy
virtual EditPolicy * createRFPortEditPolicy()
Definition: ProDeEditPolicyFactory.cc:117
ProDeEditPolicyFactory::createBridgeEditPolicy
virtual EditPolicy * createBridgeEditPolicy()
Definition: ProDeEditPolicyFactory.cc:187
ProDeEditPolicyFactory::createRFEditPolicy
virtual EditPolicy * createRFEditPolicy()
Definition: ProDeEditPolicyFactory.cc:77
ProDeSegmentEditPolicy
Definition: ProDeSegmentEditPolicy.hh:49
ProDeBusEditPolicy
Definition: ProDeBusEditPolicy.hh:49
ProDeEditPolicyFactory::~ProDeEditPolicyFactory
virtual ~ProDeEditPolicyFactory()
Definition: ProDeEditPolicyFactory.cc:58
ProDeSocketEditPolicy.hh
ProDeEditPolicyFactory.hh
ProDeSegmentEditPolicy.hh
ProDeSRPortEditPolicy
Definition: ProDeSRPortEditPolicy.hh:48
ProDeBusEditPolicy.hh