17 #if FW_ENABLE_TEXT_LOGGING
51 class ComponentIpcSerializableBuffer :
66 return sizeof(m_buff);
69 U8* getBuffAddr(
void) {
73 const U8* getBuffAddr(
void)
const {
79 U8 m_buff[SERIALIZATION_SIZE];
93 return &this->m_cmdIn_InputPort[
portNum];
114 this->m_cmdRegOut_OutputPort[
portNum].addCallPort(port);
167 #if FW_ENABLE_TEXT_LOGGING == 1
168 void FileManagerComponentBase ::
169 set_LogText_OutputPort(
175 this->m_LogText_OutputPort[
portNum].addCallPort(port);
183 #if FW_PORT_SERIALIZATION
188 Fw::InputSerializePort *port
192 return this->m_cmdRegOut_OutputPort[
portNum].registerSerialPort(port);
198 Fw::InputSerializePort *port
208 Fw::InputSerializePort *port
218 Fw::InputSerializePort *port
228 Fw::InputSerializePort *port
238 Fw::InputSerializePort *port
245 #if FW_ENABLE_TEXT_LOGGING == 1
246 void FileManagerComponentBase ::
247 set_LogText_OutputPort(
249 Fw::InputSerializePort *port
253 return this->m_LogText_OutputPort[
portNum].registerSerialPort(port);
266 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
267 this->m_cmdRegOut_OutputPort[0].invoke(
268 this->
getIdBase() + OPCODE_CREATEDIRECTORY
270 this->m_cmdRegOut_OutputPort[0].invoke(
273 this->m_cmdRegOut_OutputPort[0].invoke(
276 this->m_cmdRegOut_OutputPort[0].invoke(
279 this->m_cmdRegOut_OutputPort[0].invoke(
282 this->m_cmdRegOut_OutputPort[0].invoke(
292 #if FW_OBJECT_NAMES == 1
294 Fw::ActiveComponentBase(compName)
297 Fw::ActiveComponentBase()
318 port < this->getNum_cmdIn_InputPorts();
322 this->m_cmdIn_InputPort[port].init();
323 this->m_cmdIn_InputPort[port].addCallComp(
327 this->m_cmdIn_InputPort[port].setPortNum(port);
329 #if FW_OBJECT_NAMES == 1
334 "%s_cmdIn_InputPort[%d]",
338 this->m_cmdIn_InputPort[port].setObjName(portName);
357 #if FW_OBJECT_NAMES == 1
362 "%s_pingIn_InputPort[%d]",
374 port < this->getNum_cmdRegOut_OutputPorts();
377 this->m_cmdRegOut_OutputPort[port].
init();
379 #if FW_OBJECT_NAMES == 1
384 "%s_cmdRegOut_OutputPort[%d]",
388 this->m_cmdRegOut_OutputPort[port].setObjName(portName);
401 #if FW_OBJECT_NAMES == 1
406 "%s_cmdResponseOut_OutputPort[%d]",
423 #if FW_OBJECT_NAMES == 1
428 "%s_eventOut_OutputPort[%d]",
445 #if FW_OBJECT_NAMES == 1
450 "%s_timeCaller_OutputPort[%d]",
467 #if FW_OBJECT_NAMES == 1
472 "%s_tlmOut_OutputPort[%d]",
489 #if FW_OBJECT_NAMES == 1
494 "%s_pingOut_OutputPort[%d]",
504 #if FW_ENABLE_TEXT_LOGGING == 1
507 port < this->getNum_LogText_OutputPorts();
510 this->m_LogText_OutputPort[port].
init();
512 #if FW_OBJECT_NAMES == 1
517 "%s_LogText_OutputPort[%d]",
521 this->m_LogText_OutputPort[port].setObjName(portName);
530 ComponentIpcSerializableBuffer::SERIALIZATION_SIZE
548 void FileManagerComponentBase ::
563 getNum_cmdIn_InputPorts(
void)
566 this->m_cmdIn_InputPort
571 getNum_cmdRegOut_OutputPorts(
void)
574 this->m_cmdRegOut_OutputPort
626 #if FW_ENABLE_TEXT_LOGGING == 1
628 getNum_LogText_OutputPorts(
void)
631 this->m_LogText_OutputPort
640 bool FileManagerComponentBase ::
644 portNum < this->getNum_cmdRegOut_OutputPorts(),
647 return this->m_cmdRegOut_OutputPort[
portNum].isConnected();
700 #if FW_ENABLE_TEXT_LOGGING == 1
701 bool FileManagerComponentBase ::
705 portNum < this->getNum_LogText_OutputPorts(),
708 return this->m_LogText_OutputPort[
portNum].isConnected();
716 void FileManagerComponentBase ::
728 FileManagerComponentBase* compPtr =
729 (FileManagerComponentBase*) callComp;
731 const U32 idBase = callComp->
getIdBase();
733 switch (
opCode - idBase) {
735 case OPCODE_CREATEDIRECTORY:
736 compPtr->CreateDirectory_cmdHandlerBase(
744 compPtr->MoveFile_cmdHandlerBase(
752 compPtr->RemoveDirectory_cmdHandlerBase(
760 compPtr->RemoveFile_cmdHandlerBase(
768 compPtr->ShellCommand_cmdHandlerBase(
776 compPtr->AppendFile_cmdHandlerBase(
784 compPtr->cmdResponse_out(
795 void FileManagerComponentBase ::
810 void FileManagerComponentBase ::
811 CreateDirectory_cmdHandlerBase(
823 ComponentIpcSerializableBuffer msg;
835 _status = msg.serialize(port);
841 _status = msg.serialize(
opCode);
847 _status = msg.serialize(
cmdSeq);
853 _status = msg.serialize(
args);
871 void FileManagerComponentBase::
872 CreateDirectory_preMsgHook(
893 ComponentIpcSerializableBuffer msg;
905 _status = msg.serialize(port);
911 _status = msg.serialize(
opCode);
917 _status = msg.serialize(
cmdSeq);
923 _status = msg.serialize(
args);
963 ComponentIpcSerializableBuffer msg;
975 _status = msg.serialize(port);
981 _status = msg.serialize(
opCode);
987 _status = msg.serialize(
cmdSeq);
993 _status = msg.serialize(
args);
1033 ComponentIpcSerializableBuffer msg;
1045 _status = msg.serialize(port);
1051 _status = msg.serialize(
opCode);
1057 _status = msg.serialize(
cmdSeq);
1063 _status = msg.serialize(
args);
1103 ComponentIpcSerializableBuffer msg;
1115 _status = msg.serialize(port);
1121 _status = msg.serialize(
opCode);
1127 _status = msg.serialize(
cmdSeq);
1133 _status = msg.serialize(
args);
1173 ComponentIpcSerializableBuffer msg;
1185 _status = msg.serialize(port);
1191 _status = msg.serialize(
opCode);
1197 _status = msg.serialize(
cmdSeq);
1203 _status = msg.serialize(
args);
1234 void FileManagerComponentBase ::
1235 tlmWrite_CommandsExecuted(U32 arg)
1252 _id = this->
getIdBase() + CHANNELID_COMMANDSEXECUTED;
1296 Fw::Time FileManagerComponentBase ::
1312 void FileManagerComponentBase ::
1313 log_WARNING_HI_DirectoryCreateError(
1327 _id = this->
getIdBase() + EVENTID_DIRECTORYCREATEERROR;
1335 #if FW_AMPCS_COMPATIBLE
1351 #if FW_AMPCS_COMPATIBLE
1378 #if FW_ENABLE_TEXT_LOGGING
1379 if (this->m_LogText_OutputPort[0].isConnected()) {
1381 #if FW_OBJECT_NAMES == 1
1382 const char* _formatString =
1383 "(%s) %s: Could not create directory %s, returned status %d";
1385 const char* _formatString =
1386 "%s: Could not create directory %s, returned status %d";
1398 "DirectoryCreateError "
1406 this->m_LogText_OutputPort[0].invoke(
1441 #if FW_AMPCS_COMPATIBLE
1457 #if FW_AMPCS_COMPATIBLE
1484 #if FW_ENABLE_TEXT_LOGGING
1485 if (this->m_LogText_OutputPort[0].isConnected()) {
1487 #if FW_OBJECT_NAMES == 1
1488 const char* _formatString =
1489 "(%s) %s: Could not remove directory %s, returned status %d";
1491 const char* _formatString =
1492 "%s: Could not remove directory %s, returned status %d";
1504 "DirectoryRemoveError "
1512 this->m_LogText_OutputPort[0].invoke(
1547 #if FW_AMPCS_COMPATIBLE
1557 _status = _logBuff.
serialize(sourceFileName);
1564 _status = _logBuff.
serialize(destFileName);
1570 #if FW_AMPCS_COMPATIBLE
1597 #if FW_ENABLE_TEXT_LOGGING
1598 if (this->m_LogText_OutputPort[0].isConnected()) {
1600 #if FW_OBJECT_NAMES == 1
1601 const char* _formatString =
1602 "(%s) %s: Could not move file %s to file %s, returned status %d";
1604 const char* _formatString =
1605 "%s: Could not move file %s to file %s, returned status %d";
1618 , sourceFileName.
toChar()
1626 this->m_LogText_OutputPort[0].invoke(
1661 #if FW_AMPCS_COMPATIBLE
1677 #if FW_AMPCS_COMPATIBLE
1704 #if FW_ENABLE_TEXT_LOGGING
1705 if (this->m_LogText_OutputPort[0].isConnected()) {
1707 #if FW_OBJECT_NAMES == 1
1708 const char* _formatString =
1709 "(%s) %s: Could not remove file %s, returned status %d";
1711 const char* _formatString =
1712 "%s: Could not remove file %s, returned status %d";
1732 this->m_LogText_OutputPort[0].invoke(
1767 #if FW_AMPCS_COMPATIBLE
1783 #if FW_AMPCS_COMPATIBLE
1810 #if FW_ENABLE_TEXT_LOGGING
1811 if (this->m_LogText_OutputPort[0].isConnected()) {
1813 #if FW_OBJECT_NAMES == 1
1814 const char* _formatString =
1815 "(%s) %s: Shell command %s failed with status %d";
1817 const char* _formatString =
1818 "%s: Shell command %s failed with status %d";
1830 "ShellCommandFailed "
1838 this->m_LogText_OutputPort[0].invoke(
1873 #if FW_AMPCS_COMPATIBLE
1896 #if FW_AMPCS_COMPATIBLE
1923 #if FW_ENABLE_TEXT_LOGGING
1924 if (this->m_LogText_OutputPort[0].isConnected()) {
1926 #if FW_OBJECT_NAMES == 1
1927 const char* _formatString =
1928 "(%s) %s: Appending %s onto %s failed with status %d";
1930 const char* _formatString =
1931 "%s: Appending %s onto %s failed with status %d";
1952 this->m_LogText_OutputPort[0].invoke(
1987 #if FW_AMPCS_COMPATIBLE
2020 #if FW_ENABLE_TEXT_LOGGING
2021 if (this->m_LogText_OutputPort[0].isConnected()) {
2023 #if FW_OBJECT_NAMES == 1
2024 const char* _formatString =
2025 "(%s) %s: Appended %s to the end of %s";
2027 const char* _formatString =
2028 "%s: Appended %s to the end of %s";
2040 "AppendFileSucceeded "
2048 this->m_LogText_OutputPort[0].invoke(
2083 #if FW_AMPCS_COMPATIBLE
2109 #if FW_ENABLE_TEXT_LOGGING
2110 if (this->m_LogText_OutputPort[0].isConnected()) {
2112 #if FW_OBJECT_NAMES == 1
2113 const char* _formatString =
2114 "(%s) %s: Shell command %s succeeded";
2116 const char* _formatString =
2117 "%s: Shell command %s succeeded";
2129 "ShellCommandSucceeded "
2136 this->m_LogText_OutputPort[0].invoke(
2171 #if FW_AMPCS_COMPATIBLE
2197 #if FW_ENABLE_TEXT_LOGGING
2198 if (this->m_LogText_OutputPort[0].isConnected()) {
2200 #if FW_OBJECT_NAMES == 1
2201 const char* _formatString =
2202 "(%s) %s: Created directory %s successfully";
2204 const char* _formatString =
2205 "%s: Created directory %s successfully";
2217 "CreateDirectorySucceeded "
2224 this->m_LogText_OutputPort[0].invoke(
2259 #if FW_AMPCS_COMPATIBLE
2285 #if FW_ENABLE_TEXT_LOGGING
2286 if (this->m_LogText_OutputPort[0].isConnected()) {
2288 #if FW_OBJECT_NAMES == 1
2289 const char* _formatString =
2290 "(%s) %s: Removed directory %s successfully";
2292 const char* _formatString =
2293 "%s: Removed directory %s successfully";
2305 "RemoveDirectorySucceeded "
2312 this->m_LogText_OutputPort[0].invoke(
2347 #if FW_AMPCS_COMPATIBLE
2357 _status = _logBuff.
serialize(sourceFileName);
2364 _status = _logBuff.
serialize(destFileName);
2380 #if FW_ENABLE_TEXT_LOGGING
2381 if (this->m_LogText_OutputPort[0].isConnected()) {
2383 #if FW_OBJECT_NAMES == 1
2384 const char* _formatString =
2385 "(%s) %s: Moved file %s to file %s successfully";
2387 const char* _formatString =
2388 "%s: Moved file %s to file %s successfully";
2400 "MoveFileSucceeded "
2401 , sourceFileName.
toChar()
2408 this->m_LogText_OutputPort[0].invoke(
2443 #if FW_AMPCS_COMPATIBLE
2469 #if FW_ENABLE_TEXT_LOGGING
2470 if (this->m_LogText_OutputPort[0].isConnected()) {
2472 #if FW_OBJECT_NAMES == 1
2473 const char* _formatString =
2474 "(%s) %s: Removed file %s successfully";
2476 const char* _formatString =
2477 "%s: Removed file %s successfully";
2489 "RemoveFileSucceeded "
2496 this->m_LogText_OutputPort[0].invoke(
2531 #if FW_AMPCS_COMPATIBLE
2564 #if FW_ENABLE_TEXT_LOGGING
2565 if (this->m_LogText_OutputPort[0].isConnected()) {
2567 #if FW_OBJECT_NAMES == 1
2568 const char* _formatString =
2569 "(%s) %s: Appending file %s to the end of %s...";
2571 const char* _formatString =
2572 "%s: Appending file %s to the end of %s...";
2584 "AppendFileStarted "
2592 this->m_LogText_OutputPort[0].invoke(
2627 #if FW_AMPCS_COMPATIBLE
2653 #if FW_ENABLE_TEXT_LOGGING
2654 if (this->m_LogText_OutputPort[0].isConnected()) {
2656 #if FW_OBJECT_NAMES == 1
2657 const char* _formatString =
2658 "(%s) %s: Running shell command %s...";
2660 const char* _formatString =
2661 "%s: Running shell command %s...";
2673 "ShellCommandStarted "
2680 this->m_LogText_OutputPort[0].invoke(
2715 #if FW_AMPCS_COMPATIBLE
2741 #if FW_ENABLE_TEXT_LOGGING
2742 if (this->m_LogText_OutputPort[0].isConnected()) {
2744 #if FW_OBJECT_NAMES == 1
2745 const char* _formatString =
2746 "(%s) %s: Creating directory %s...";
2748 const char* _formatString =
2749 "%s: Creating directory %s...";
2761 "CreateDirectoryStarted "
2768 this->m_LogText_OutputPort[0].invoke(
2803 #if FW_AMPCS_COMPATIBLE
2829 #if FW_ENABLE_TEXT_LOGGING
2830 if (this->m_LogText_OutputPort[0].isConnected()) {
2832 #if FW_OBJECT_NAMES == 1
2833 const char* _formatString =
2834 "(%s) %s: Removing directory %s...";
2836 const char* _formatString =
2837 "%s: Removing directory %s...";
2849 "RemoveDirectoryStarted "
2856 this->m_LogText_OutputPort[0].invoke(
2891 #if FW_AMPCS_COMPATIBLE
2901 _status = _logBuff.
serialize(sourceFileName);
2908 _status = _logBuff.
serialize(destFileName);
2924 #if FW_ENABLE_TEXT_LOGGING
2925 if (this->m_LogText_OutputPort[0].isConnected()) {
2927 #if FW_OBJECT_NAMES == 1
2928 const char* _formatString =
2929 "(%s) %s: Moving file %s to file %s...";
2931 const char* _formatString =
2932 "%s: Moving file %s to file %s...";
2945 , sourceFileName.
toChar()
2952 this->m_LogText_OutputPort[0].invoke(
2987 #if FW_AMPCS_COMPATIBLE
3013 #if FW_ENABLE_TEXT_LOGGING
3014 if (this->m_LogText_OutputPort[0].isConnected()) {
3016 #if FW_OBJECT_NAMES == 1
3017 const char* _formatString =
3018 "(%s) %s: Removing file %s...";
3020 const char* _formatString =
3021 "%s: Removing file %s...";
3033 "RemoveFileStarted "
3040 this->m_LogText_OutputPort[0].invoke(
3073 void FileManagerComponentBase ::
3089 ComponentIpcSerializableBuffer msg;
3092 _status = msg.serialize(
3100 _status = msg.serialize(
portNum);
3107 _status = msg.serialize(
key);
3130 void FileManagerComponentBase ::
3147 ComponentIpcSerializableBuffer msg;
3166 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
3168 if (msgType == FILEMANAGER_COMPONENT_EXIT) {
3173 deserStatus = msg.deserialize(
portNum);
3186 deserStatus = msg.deserialize(
key);
3193 this->pingIn_handler(
3203 case CMD_CREATEDIRECTORY: {
3206 deserStatus = msg.deserialize(
opCode);
3214 deserStatus = msg.deserialize(
cmdSeq);
3222 deserStatus = msg.deserialize(
args);
3236 this->cmdResponse_out(
3248 #if FW_CMD_CHECK_RESIDUAL
3258 this->CreateDirectory_cmdHandler(
3269 case CMD_MOVEFILE: {
3272 deserStatus = msg.deserialize(
opCode);
3280 deserStatus = msg.deserialize(
cmdSeq);
3288 deserStatus = msg.deserialize(
args);
3302 this->cmdResponse_out(
3317 this->cmdResponse_out(
3329 #if FW_CMD_CHECK_RESIDUAL
3342 sourceFileName, destFileName
3350 case CMD_REMOVEDIRECTORY: {
3353 deserStatus = msg.deserialize(
opCode);
3361 deserStatus = msg.deserialize(
cmdSeq);
3369 deserStatus = msg.deserialize(
args);
3383 this->cmdResponse_out(
3395 #if FW_CMD_CHECK_RESIDUAL
3416 case CMD_REMOVEFILE: {
3419 deserStatus = msg.deserialize(
opCode);
3427 deserStatus = msg.deserialize(
cmdSeq);
3435 deserStatus = msg.deserialize(
args);
3449 this->cmdResponse_out(
3461 #if FW_CMD_CHECK_RESIDUAL
3482 case CMD_SHELLCOMMAND: {
3485 deserStatus = msg.deserialize(
opCode);
3493 deserStatus = msg.deserialize(
cmdSeq);
3501 deserStatus = msg.deserialize(
args);
3515 this->cmdResponse_out(
3530 this->cmdResponse_out(
3542 #if FW_CMD_CHECK_RESIDUAL
3555 command, logFileName
3563 case CMD_APPENDFILE: {
3566 deserStatus = msg.deserialize(
opCode);
3574 deserStatus = msg.deserialize(
cmdSeq);
3582 deserStatus = msg.deserialize(
args);
3596 this->cmdResponse_out(
3611 this->cmdResponse_out(
3623 #if FW_CMD_CHECK_RESIDUAL