CORDET Framework - C2 Implementation
CrFwOutManagerTestCases.c
Go to the documentation of this file.
1 
19 #include <stdio.h>
20 #include <stdlib.h>
22 #include "CrFwOutStreamStub.h"
23 /* Include FW Profile files */
24 #include "FwSmConstants.h"
25 #include "FwSmConfig.h"
26 #include "FwSmCore.h"
27 #include "FwPrConfig.h"
28 #include "FwPrCore.h"
29 #include "FwPrConstants.h"
30 /* Include framework files */
32 #include "BaseCmp/CrFwBaseCmp.h"
33 #include "Pckt/CrFwPckt.h"
34 #include "OutCmp/CrFwOutCmp.h"
37 #include "CrFwTime.h"
38 #include "CrFwRepErr.h"
40 /* Include configuration files */
41 #include "CrFwOutRegistryUserPar.h"
42 #include "CrFwOutManagerUserPar.h"
43 #include "CrFwRepErrStub.h"
44 #include "CrFwOutFactoryUserPar.h"
45 #include "CrFwCmpData.h"
46 
47 /* ---------------------------------------------------------------------------------------------*/
49  FwSmDesc_t outManager1, outManagerIll;
50 
51  /* Instantiate the first OutManager */
52  outManager1 = CrFwOutManagerMake(0);
53 
54  /* Check current state of OutManager */
55  if (!CrFwCmpIsInCreated(outManager1))
56  return 0;
57 
58  /* Initialize and Configure OutManager and check success */
59  CrFwCmpInit(outManager1);
60  if (!CrFwCmpIsInInitialized(outManager1))
61  return 0;
62  CrFwCmpReset(outManager1);
63  if (!CrFwCmpIsInConfigured(outManager1))
64  return 0;
65 
66  /* Check Instance and Type Identifiers */
67  if (CrFwCmpGetInstanceId(outManager1) != 0)
68  return 0;
69  if (CrFwCmpGetTypeId(outManager1) != CR_FW_OUTMANAGER_TYPE)
70  return 0;
71 
72  /* Check POCL */
73  if (CrFwOutManagerGetPOCLSize(outManager1) != 3)
74  return 0;
75  if (CrFwOutManagerGetNOfPendingOutCmp(outManager1) != 0)
76  return 0;
77 
78  /* Check counter of loaded OutComponents */
79  if (CrFwOutManagerGetNOfLoadedOutCmp(outManager1) != 0)
80  return 0;
81 
82  /* Attempt to instantiate an OutManager with an illegal identifier */
84  return 0;
86  if (outManagerIll != NULL)
87  return 0;
89  return 0;
90  CrFwSetAppErrCode(crNoAppErr); /* reset application error code */
91 
92  /* Check that there are no allocated packets */
93  if (CrFwPcktGetNOfAllocated() != 0)
94  return 0;
95 
96  /* Check application errors */
98  return 0;
99 
100  return 1;
101 }
102 
103 /* ---------------------------------------------------------------------------------------------*/
105  FwSmDesc_t outManager2, outFactory;
106  FwSmDesc_t outCmp1, outCmp2, outCmp3, outCmp4, outCmp5;
107  CrFwCounterU2_t errRepPosLocal;
108 
109  /* Instantiate the second OutManager */
110  outManager2 = CrFwOutManagerMake(1);
111 
112  /* Initialize and Configure OutManager and check success */
113  CrFwCmpInit(outManager2);
114  CrFwCmpReset(outManager2);
115  if (!CrFwCmpIsInConfigured(outManager2))
116  return 0;
117 
118  /* Check Instance Identifiers */
119  if (CrFwCmpGetInstanceId(outManager2) != 1)
120  return 0;
121 
122  /* Initialize and Configure OutFactory and check success */
123  outFactory = CrFwOutFactoryMake();
124  CrFwCmpInit(outFactory);
125  CrFwCmpReset(outFactory);
126  if (!CrFwCmpIsInConfigured(outFactory))
127  return 0;
128 
129  /* Create and load four OutComponents (this should fill the OutManager */
130  outCmp1 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
131  if (CrFwOutManagerLoad(outManager2, outCmp1) != 1)
132  return 0;
133  if (CrFwOutManagerGetNOfPendingOutCmp(outManager2) != 1)
134  return 0;
135 
136  outCmp2 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
137  if (CrFwOutManagerLoad(outManager2, outCmp2) != 1)
138  return 0;
139  if (CrFwOutManagerGetNOfPendingOutCmp(outManager2) != 2)
140  return 0;
141 
142  outCmp3 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
143  if (CrFwOutManagerLoad(outManager2, outCmp3) != 1)
144  return 0;
145  if (CrFwOutManagerGetNOfPendingOutCmp(outManager2) != 3)
146  return 0;
147 
148  outCmp4 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
149  if (CrFwOutManagerLoad(outManager2, outCmp4) != 1)
150  return 0;
151  if (CrFwOutManagerGetNOfPendingOutCmp(outManager2) != 4)
152  return 0;
153 
154  /* Store the current value of the error report counter */
155  errRepPosLocal = CrFwRepErrStubGetPos();
156 
157  /* Create and load the fifth OutComponent (this overflows the POCL) */
158  outCmp5 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
159  if (CrFwOutManagerLoad(outManager2, outCmp5) != 0)
160  return 0;
161  if (CrFwOutManagerGetNOfPendingOutCmp(outManager2) != 4)
162  return 0;
163 
164  /* Check that an error report has been generated */
165  if (CrFwRepErrStubGetPos() != errRepPosLocal+1)
166  return 0;
168  return 0;
170  return 0;
172  return 0;
173 
174  /* Reset the OutManager (this should clear the POCL and release all loaded OutComponents) */
175  CrFwCmpReset(outManager2);
176  if (!CrFwCmpIsInConfigured(outManager2))
177  return 0;
178  if (CrFwOutManagerGetNOfPendingOutCmp(outManager2) != 0)
179  return 0;
180  if (CrFwPcktGetNOfAllocated() != 0)
181  return 0;
182 
183  /* Check that there are no allocated packets */
184  if (CrFwPcktGetNOfAllocated() != 0)
185  return 0;
186 
187  /* Check application errors */
188  if (CrFwGetAppErrCode() != crNoAppErr)
189  return 0;
190 
191  return 1;
192 }
193 
194 /* ---------------------------------------------------------------------------------------------*/
196  FwSmDesc_t outManager1, outRegistry, outFactory;
197  FwSmDesc_t sampleOutCmp;
198  FwSmCounterU3_t execCnt;
199 
200  /* Instantiate the first OutManager */
201  outManager1 = CrFwOutManagerMake(0);
202 
203  /* Initialize and Configure OutManager and check success */
204  CrFwCmpInit(outManager1);
205  CrFwCmpReset(outManager1);
206  if (!CrFwCmpIsInConfigured(outManager1))
207  return 0;
208 
209  /* Initialize and Configure OutRegistry and check success */
210  outRegistry = CrFwOutRegistryMake();
211  CrFwCmpInit(outRegistry);
212  CrFwCmpReset(outRegistry);
213  if (!CrFwCmpIsInConfigured(outRegistry))
214  return 0;
215 
216  /* Execute the empty OutManager */
217  CrFwCmpExecute(outManager1);
218  CrFwCmpExecute(outManager1);
219 
220  /* Initialize and Configure OutFactory and check success */
221  outFactory = CrFwOutFactoryMake();
222  CrFwCmpInit(outFactory);
223  CrFwCmpReset(outFactory);
224  if (!CrFwCmpIsInConfigured(outFactory))
225  return 0;
226 
227  /* Allocate a Sample 1 OutComponent instance */
228  sampleOutCmp = CrFwOutFactoryMakeOutCmp(50,1,0,0);
229  if (!CrFwOutCmpIsInLoaded(sampleOutCmp))
230  return 0;
231 
232  /* Set up enable and ready check of sample OutComponent */
235 
236  /* Load Sample OutComponent in OutManager */
237  if (CrFwOutManagerLoad(outManager1, sampleOutCmp) != 1)
238  return 0;
239  if (CrFwOutManagerGetNOfPendingOutCmp(outManager1) != 1)
240  return 0;
241 
242  /* Store execution counter of Sample OutComponent */
243  execCnt = FwSmGetExecCnt(sampleOutCmp);
244 
245  /* Execute the OutManager */
246  CrFwCmpExecute(outManager1); /* this causes the Sample OutComponent to enter ABORTED and be unloaded */
247  CrFwCmpExecute(outManager1);
248 
249  /* Check that execution was propagated to Sample OutComponent */
250  if (FwSmGetExecCnt(sampleOutCmp) != execCnt+1)
251  return 0;
252  if (FwSmGetStateExecCnt(sampleOutCmp) != 1)
253  return 0;
254  if (!CrFwOutCmpIsInAborted(sampleOutCmp))
255  return 0;
256  if (CrFwOutManagerGetNOfPendingOutCmp(outManager1) != 0)
257  return 0;
259  return 0;
260 
261  /* Check that Sample OutComponent was released by OutManager */
263  return 0;
264 
265  /* Re-allocate, re-load Sample OutComponent in OutManager, and re-register is with OutRegistry */
266  sampleOutCmp = CrFwOutFactoryMakeOutCmp(50,1,0,0);
267  CrFwCmpReset(sampleOutCmp);
268  if (!CrFwOutCmpIsInLoaded(sampleOutCmp))
269  return 0;
270  if (CrFwOutManagerLoad(outManager1, sampleOutCmp) != 1)
271  return 0;
272  if (CrFwOutManagerGetNOfPendingOutCmp(outManager1) != 1)
273  return 0;
274 
275  /* Make Sample OutComponent enabled but not ready */
278 
279  /* Execute the OutManager twice */
280  CrFwCmpExecute(outManager1);
281  CrFwCmpExecute(outManager1);
282 
283  /* Check that execution was propagated to Sample OutComponent */
284  if (!CrFwOutCmpIsInPending(sampleOutCmp))
285  return 0;
286  if (FwSmGetStateExecCnt(sampleOutCmp) != 2)
287  return 0;
288 
289  /* Check that Sample OutComponent is still loaded */
290  if (CrFwOutManagerGetNOfPendingOutCmp(outManager1) != 1)
291  return 0;
293  return 0;
294 
295  /* Reset OutManager (this causes the pending OutComponent to be released) */
296  CrFwCmpReset(outManager1);
297 
298  /* Check that there are no allocated OutComponents */
300  return 0;
301 
302  /* Check that there are no allocated packets */
303  if (CrFwPcktGetNOfAllocated() != 0)
304  return 0;
305 
306  /* Check application errors */
307  if (CrFwGetAppErrCode() != crNoAppErr)
308  return 0;
309 
310  return 1;
311 }
312 
313 /* ---------------------------------------------------------------------------------------------*/
315  FwSmDesc_t outManager4, outRegistry, outFactory, outStream1;
316  FwSmDesc_t sampleOutCmp1, sampleOutCmp2, stdOutCmp1, stdOutCmp2, stdOutCmp3, stdOutCmp4;
317 
318  /* Instantiate the second OutManager */
319  outManager4 = CrFwOutManagerMake(3);
320 
321  /* Initialize and Configure OutManager and check success */
322  CrFwCmpInit(outManager4);
323  CrFwCmpReset(outManager4);
324  if (!CrFwCmpIsInConfigured(outManager4))
325  return 0;
326 
327  /* Initialize and Configure OutRegistry and check success */
328  outRegistry = CrFwOutRegistryMake();
329  CrFwCmpInit(outRegistry);
330  CrFwCmpReset(outRegistry);
331  if (!CrFwCmpIsInConfigured(outRegistry))
332  return 0;
333 
334  /* Initialize and Configure OutFactory and check success */
335  outFactory = CrFwOutFactoryMake();
336  CrFwCmpInit(outFactory);
337  CrFwCmpReset(outFactory);
338  if (!CrFwCmpIsInConfigured(outFactory))
339  return 0;
340 
341  /* Initialize and Configure the first OutStream */
342  outStream1 = CrFwOutStreamMake(0);
343  FwSmStart(outStream1); /* just in case it had been stopped in some other test case */
344  CrFwCmpInit(outStream1);
345  CrFwCmpReset(outStream1);
346  if (!CrFwCmpIsInConfigured(outStream1))
347  return 0;
348 
349  /* Allocate the OutComponent instances */
350  sampleOutCmp1 = CrFwOutFactoryMakeOutCmp(50,1,0,0);
351  sampleOutCmp2 = CrFwOutFactoryMakeOutCmp(50,1,0,0);
352  stdOutCmp1 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
353  stdOutCmp2 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
354  stdOutCmp3 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
355  stdOutCmp4 = CrFwOutFactoryMakeOutCmp(1,1,0,0);
356  if (!CrFwOutCmpIsInLoaded(sampleOutCmp1))
357  return 0;
358  if (!CrFwOutCmpIsInLoaded(sampleOutCmp2))
359  return 0;
360  if (!CrFwOutCmpIsInLoaded(stdOutCmp1))
361  return 0;
362  if (!CrFwOutCmpIsInLoaded(stdOutCmp2))
363  return 0;
364  if (!CrFwOutCmpIsInLoaded(stdOutCmp3))
365  return 0;
366  if (!CrFwOutCmpIsInLoaded(stdOutCmp4))
367  return 0;
368 
369  /* Set destination of OutComponents to be the same as the destination of the OutStream */
370  CrFwOutCmpSetDest(sampleOutCmp1, CrFwOutStreamGetDest(outStream1));
371  CrFwOutCmpSetDest(sampleOutCmp2, CrFwOutStreamGetDest(outStream1));
372  CrFwOutCmpSetDest(stdOutCmp1, CrFwOutStreamGetDest(outStream1));
373  CrFwOutCmpSetDest(stdOutCmp2, CrFwOutStreamGetDest(outStream1));
374  CrFwOutCmpSetDest(stdOutCmp3, CrFwOutStreamGetDest(outStream1));
375  CrFwOutCmpSetDest(stdOutCmp4, CrFwOutStreamGetDest(outStream1));
376 
377  /* Set up enable and ready check of the sample OutComponents */
380 
381  /* Load OutComponents in OutManager */
382  CrFwOutManagerLoad(outManager4, sampleOutCmp1);
383  CrFwOutManagerLoad(outManager4, stdOutCmp1);
384  CrFwOutManagerLoad(outManager4, sampleOutCmp2);
385  CrFwOutManagerLoad(outManager4, stdOutCmp2);
386  if (CrFwOutManagerGetNOfPendingOutCmp(outManager4) != 4)
387  return 0;
388  if (CrFwOutManagerGetNOfLoadedOutCmp(outManager4) != 4)
389  return 0;
390 
391  /* Execute the OutManager twice */
392  CrFwCmpExecute(outManager4);
393  CrFwCmpExecute(outManager4);
394 
395  /* Check that execution was propagated to Sample OutComponent */
396  if (!CrFwOutCmpIsInPending(sampleOutCmp1))
397  return 0;
398  if (!CrFwOutCmpIsInPending(sampleOutCmp2))
399  return 0;
400  if (!CrFwOutCmpIsInTerminated(stdOutCmp1))
401  return 0;
402  if (!CrFwOutCmpIsInTerminated(stdOutCmp2))
403  return 0;
404 
405  /* Check that Sample OutComponents are still loaded */
406  if (CrFwOutManagerGetNOfPendingOutCmp(outManager4) != 2)
407  return 0;
409  return 0;
411  return 0;
413  return 0;
415  return 0;
416  if (CrFwOutManagerGetNOfLoadedOutCmp(outManager4) != 4)
417  return 0;
418 
419  /* Load the third and fourth standard OutComponent */
420  CrFwOutManagerLoad(outManager4, stdOutCmp3);
421  CrFwOutManagerLoad(outManager4, stdOutCmp4);
422  if (CrFwOutManagerGetNOfPendingOutCmp(outManager4) != 4)
423  return 0;
424  if (CrFwOutManagerGetNOfLoadedOutCmp(outManager4) != 6)
425  return 0;
426 
427  /* Execute the OutManager once */
428  CrFwCmpExecute(outManager4);
429 
430  /* Check that Sample OutComponents are still loaded */
431  if (CrFwOutManagerGetNOfPendingOutCmp(outManager4) != 2)
432  return 0;
434  return 0;
436  return 0;
438  return 0;
440  return 0;
441  if (CrFwOutManagerGetNOfLoadedOutCmp(outManager4) != 6)
442  return 0;
443 
444  /* Check that the Standard OutComponents have been released */
446  return 0;
447 
448  /* Shut down OutManager and check that all OutComponents are unloaded and released */
449  CrFwCmpShutdown(outManager4);
450  if (CrFwOutManagerGetNOfPendingOutCmp(outManager4) != 0)
451  return 0;
452 
453  /* Shutdown the OutStream to force all its pending packets to be released */
454  CrFwCmpShutdown(outStream1);
455 
456  /* Check that Sample OutComponents have been released */
458  return 0;
459 
460  /* Bring OutManager back to state CONFIGURED */
461  FwSmStart(outManager4);
462  CrFwCmpInit(outManager4);
463  CrFwCmpReset(outManager4);
464  if (!CrFwCmpIsInConfigured(outManager4))
465  return 0;
466 
467  if (CrFwOutManagerGetNOfLoadedOutCmp(outManager4) != 0)
468  return 0;
469 
471  return 0;
472 
473  /* Check that there are no allocated packets */
474  if (CrFwPcktGetNOfAllocated() != 0)
475  return 0;
476 
477  /* Check application errors */
478  if (CrFwGetAppErrCode() != crNoAppErr)
479  return 0;
480 
481  return 1;
482 }
483 
Interface through which framework components access the current time.
CrFwTypeId_t CrFwCmpGetTypeId(FwSmDesc_t smDesc)
Return the type identifier of the argument component.
Definition: CrFwBaseCmp.c:156
void CrFwCmpInit(FwSmDesc_t smDesc)
Initialize a framework component.
Definition: CrFwBaseCmp.c:112
Definition of the Framework Component Data (FCD) Type.
CrFwBool_t CrFwCmpIsInConfigured(FwSmDesc_t smDesc)
Return true if the argument component is in state CONFIGURED.
Definition: CrFwBaseCmp.c:177
void CrFwSetAppErrCode(CrFwAppErrCode_t errCode)
Set the value of the application error code (see CrFwGetAppErrCode).
Interface for the OutStream stub.
void CrFwOutCmpSample1SetReadyFlag(CrFwBool_t flag)
Set the value of Ready Flag (see CrFwOutCmpSample1ReadyCheck).
CrFwBool_t CrFwCmpIsInCreated(FwSmDesc_t smDesc)
Return true if the argument component is in state CREATED.
Definition: CrFwBaseCmp.c:167
void CrFwOutCmpSample1SetEnableFlag(CrFwBool_t flag)
Set the value of Enable Flag (see CrFwOutCmpSample1EnableCheck).
CrFwInstanceId_t CrFwCmpGetInstanceId(FwSmDesc_t smDesc)
Return the instance identifier of the argument component.
Definition: CrFwBaseCmp.c:150
CrFwOutRegistryCmdRepState_t CrFwOutRegistryGetState(CrFwInstanceId_t cmdRepId)
Query the OutRegistry for the state of an out-going command or report.
CrFwBool_t CrFwOutCmpIsInTerminated(FwSmDesc_t smDesc)
Return true if the argument OutComponent is in state TERMINATED.
Definition: CrFwOutCmp.c:163
Definition of the OutStream component.
Definition of the OutFactory component.
CrFwBool_t CrFwOutManagerTestCase3()
Check the execution function of an OutManager with one single OutComponent loaded.
FwSmDesc_t CrFwOutManagerMake(CrFwInstanceId_t i)
Factory function to retrieve the i-th OutManager State Machine instance.
Interface for creating and accessing a report or command packet.
int CrFwBool_t
Type used for boolean values (1 represent "true" and 0 represents "false").
Definition: CrFwConstants.h:32
Definition of the OutRegistry Component.
The Pending OutComponent List (POCL) of an OutManager is full (see CrFwOutManager.h)
Out-going command or report is pending (waiting to be sent)
CrFwBool_t CrFwCmpIsInInitialized(FwSmDesc_t smDesc)
Return true if the argument component is in state INITIALIZED.
Definition: CrFwBaseCmp.c:172
#define CR_FW_NOF_OUTMANAGER
The number of OutManager components in the application.
CrFwCounterU2_t CrFwOutManagerGetNOfLoadedOutCmp(FwSmDesc_t smDesc)
Return the number of OutComponents successfully loaded in the POCL of an OutManager since the OutMana...
CrFwBool_t CrFwOutCmpIsInAborted(FwSmDesc_t smDesc)
Return true if the argument OutComponent is in state ABORTED.
Definition: CrFwOutCmp.c:153
static FwSmDesc_t outFactory
The singleton instance of the OutFactory.
Interface for reporting an error detected by a framework component.
CrFwTypeId_t CrFwRepErrStubGetTypeId(CrFwCounterU2_t errRepPos)
Return the type identifier of the error report at position errRepPos.
Definition: CrFwRepErr.c:264
User-modifiable parameters for the OutManager components (see CrFwOutManager.h).
#define CR_FW_OUTMANAGER_TYPE
Type identifier for the OutManager component.
CrFwRepErrCode_t CrFwRepErrStubGetErrCode(CrFwCounterU2_t errRepPos)
Return the error code of the error report at position errRepPos.
Definition: CrFwRepErr.c:259
unsigned short CrFwCounterU2_t
Type used for unsigned integers with a "medium" range.
CrFwBool_t CrFwOutManagerTestCase4()
Check the execution function of an OutManager with several OutComponents loaded.
static FwSmDesc_t outRegistry
The OutRegistry singleton.
Definition of the utility functions for the CORDET Framework.
CrFwBool_t CrFwOutCmpIsInLoaded(FwSmDesc_t smDesc)
Return true if the argument OutComponent is in state LOADED.
Definition: CrFwOutCmp.c:148
Declaration of the test cases for the OutManager Component (see CrFwOutManager.h).
FwSmDesc_t CrFwOutRegistryMake()
Factory function for the singleton instance of the OutRegistry.
void CrFwCmpReset(FwSmDesc_t smDesc)
Reset a framework component.
Definition: CrFwBaseCmp.c:117
void CrFwCmpExecute(FwSmDesc_t smDesc)
Execute a framework component.
Definition: CrFwBaseCmp.c:127
CrFwOutFactoryPoolIndex_t CrFwOutFactoryGetNOfAllocatedOutCmp()
Return the number of OutComponents which are currently allocated.
Definition of Base Component.
User-modifiable parameters for the OutFactory component (see CrFwOutFactory.h).
Out-going command or report has been aborted.
The CORDET Framework defines an interface for generating error reports (see CrFwRepErr.h).
Out-going command or report has been passed to the OutStream.
Definition of the OutComponent Component of the framework.
CrFwCounterU2_t CrFwPcktGetNOfAllocated()
Return the number of packets which are currently allocated.
Definition: CrFwPckt.c:196
FwSmDesc_t CrFwOutFactoryMake()
Factory function for the singleton instance of the OutFactory.
CrFwDestSrc_t CrFwOutStreamGetDest(FwSmDesc_t smDesc)
Get the destination for an OutStream.
User-modifiable parameters for the OutRegistry component (see CrFwOutRegistry.h). ...
FwSmDesc_t CrFwOutStreamMake(CrFwInstanceId_t i)
Factory function to retrieve the i-th OutStream State Machine instance.
void CrFwOutCmpSetDest(FwSmDesc_t smDesc, CrFwDestSrc_t dest)
Set the destination of the OutComponent.
Definition: CrFwOutCmp.c:192
CrFwCounterU2_t CrFwRepErrStubGetPos()
Return the position in the error report array at which the next error report will be written...
Definition: CrFwRepErr.c:71
CrFwBool_t CrFwOutManagerTestCase2()
Check the load function of an OutManager.
CrFwCounterU1_t CrFwOutManagerGetPOCLSize(FwSmDesc_t smDesc)
Return the size of the POCL of an OutManager.
CrFwCounterU1_t CrFwOutManagerGetNOfPendingOutCmp(FwSmDesc_t smDesc)
Return the number of OutComponents currently in the POCL of an OutManager.
CrFwInstanceId_t CrFwRepErrStubGetInstanceId(CrFwCounterU2_t errRepPos)
Return the type identifier of the error report at position errRepPos.
Definition: CrFwRepErr.c:269
void CrFwCmpShutdown(FwSmDesc_t smDesc)
Shutdown a framework component.
Definition: CrFwBaseCmp.c:122
No application errors have been detected.
FwSmDesc_t CrFwOutFactoryMakeOutCmp(CrFwServType_t type, CrFwServSubType_t subType, CrFwDiscriminant_t discriminant, CrFwPcktLength_t length)
Make function for an OutComponent.
A framework function has been called with an illegal OutManager identifier.
CrFwBool_t CrFwOutManagerLoad(FwSmDesc_t smDesc, FwSmDesc_t outCmp)
Load a new OutComponent into the OutManager.
CrFwAppErrCode_t CrFwGetAppErrCode()
Return the value of the application error code.
CrFwBool_t CrFwOutManagerTestCase1()
Check the configuration of a newly created OutManager.
CrFwBool_t CrFwOutCmpIsInPending(FwSmDesc_t smDesc)
Return true if the argument OutComponent is in state PENDING.
Definition: CrFwOutCmp.c:158
P&P Software GmbH, Copyright 2012-2013, All Rights Reserved