F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Svc::FileManager Class Reference

#include <Svc/FileManager/FileManager.hpp>

Inheritance diagram for Svc::FileManager:
Svc::FileManagerComponentBase Fw::ActiveComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase

Public Member Functions

 FileManager (const char *const compName)
 
void init (const NATIVE_INT_TYPE queueDepth, const NATIVE_INT_TYPE instance)
 
 ~FileManager (void)
 
void RemoveFile_cmdHandler (const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdStringArg &fileName)
 
void MoveFile_cmdHandler (const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdStringArg &sourceFileName, const Fw::CmdStringArg &destFileName)
 
void RemoveDirectory_cmdHandler (const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdStringArg &dirName)
 
void ShellCommand_cmdHandler (const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdStringArg &command, const Fw::CmdStringArg &logFileName)
 
void AppendFile_cmdHandler (const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdStringArg &source, const Fw::CmdStringArg &target)
 
void pingIn_handler (const NATIVE_INT_TYPE portNum, U32 key)
 
void emitTelemetry (const Os::FileSystem::Status status)
 
void sendCommandResponse (const FwOpcodeType opCode, const U32 cmdSeq, const Os::FileSystem::Status status)
 
- Public Member Functions inherited from Svc::FileManagerComponentBase
Fw::InputCmdPortget_cmdIn_InputPort (NATIVE_INT_TYPE portNum)
 
Svc::InputPingPortget_pingIn_InputPort (NATIVE_INT_TYPE portNum)
 
void set_cmdRegOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdRegPort *port)
 
void set_cmdResponseOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
 
void set_eventOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
 
void set_timeCaller_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
 
void set_tlmOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port)
 
void set_pingOut_OutputPort (NATIVE_INT_TYPE portNum, Svc::InputPingPort *port)
 
void regCommands (void)
 Register commands with the Command Dispatcher. More...
 
void init (NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance=0)
 
virtual ~FileManagerComponentBase (void)
 
NATIVE_INT_TYPE getNum_pingIn_InputPorts (void)
 
NATIVE_INT_TYPE getNum_cmdResponseOut_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_eventOut_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_timeCaller_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_tlmOut_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_pingOut_OutputPorts (void)
 
bool isConnected_cmdResponseOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_eventOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_timeCaller_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_tlmOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_pingOut_OutputPort (NATIVE_INT_TYPE portNum)
 
virtual void MoveFile_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
virtual void RemoveDirectory_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
virtual void RemoveFile_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
virtual void ShellCommand_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
virtual void AppendFile_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
void MoveFile_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void RemoveDirectory_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void RemoveFile_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void ShellCommand_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void AppendFile_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void log_WARNING_HI_DirectoryRemoveError (Fw::LogStringArg &dirName, U32 status)
 
void log_WARNING_HI_FileMoveError (Fw::LogStringArg &sourceFileName, Fw::LogStringArg &destFileName, U32 status)
 
void log_WARNING_HI_FileRemoveError (Fw::LogStringArg &fileName, U32 status)
 
void log_WARNING_HI_ShellCommandFailed (Fw::LogStringArg &command, U32 status)
 
void log_WARNING_HI_AppendFileFailed (Fw::LogStringArg &source, Fw::LogStringArg &target, U32 status)
 
void log_ACTIVITY_HI_AppendFileSucceeded (Fw::LogStringArg &source, Fw::LogStringArg &target)
 
void log_ACTIVITY_HI_ShellCommandSucceeded (Fw::LogStringArg &command)
 
void log_ACTIVITY_HI_CreateDirectorySucceeded (Fw::LogStringArg &dirName)
 
void log_ACTIVITY_HI_RemoveDirectorySucceeded (Fw::LogStringArg &dirName)
 
void log_ACTIVITY_HI_MoveFileSucceeded (Fw::LogStringArg &sourceFileName, Fw::LogStringArg &destFileName)
 
void log_ACTIVITY_HI_RemoveFileSucceeded (Fw::LogStringArg &fileName)
 
void log_ACTIVITY_HI_AppendFileStarted (Fw::LogStringArg &source, Fw::LogStringArg &target)
 
void log_ACTIVITY_HI_ShellCommandStarted (Fw::LogStringArg &command)
 
void log_ACTIVITY_HI_CreateDirectoryStarted (Fw::LogStringArg &dirName)
 
void log_ACTIVITY_HI_RemoveDirectoryStarted (Fw::LogStringArg &dirName)
 
void log_ACTIVITY_HI_MoveFileStarted (Fw::LogStringArg &sourceFileName, Fw::LogStringArg &destFileName)
 
void log_ACTIVITY_HI_RemoveFileStarted (Fw::LogStringArg &fileName)
 
void tlmWrite_Errors (U32 arg)
 
- Public Member Functions inherited from Fw::ActiveComponentBase
void start (NATIVE_INT_TYPE identifier, NATIVE_INT_TYPE priority, NATIVE_INT_TYPE stackSize, NATIVE_INT_TYPE cpuAffinity=-1)
 called by instantiator when task is to be started More...
 
void exit (void)
 exit task in active component More...
 
Os::Task::TaskStatus join (void **value_ptr)
 provide return value of thread if value_ptr is not NULL More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization code More...
 
virtual void preamble (void)
 A function that will be called before the event loop is entered. More...
 
virtual void loop (void)
 The function that will loop dispatching messages. More...
 
virtual void finalizer (void)
 A function that will be called after exiting the loop. More...
 
- Public Member Functions inherited from Fw::QueuedComponentBase
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization function More...
 
Os::Queue::QueueStatus createQueue (NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
 
virtual MsgDispatchStatus doDispatch (void)=0
 method to dispatch a single message in the queue. More...
 
NATIVE_INT_TYPE getNumMsgsDropped (void)
 return number of messages dropped More...
 
void incNumMsgDropped (void)
 increment the number of messages dropped More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase (void) const
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 Initialization function. More...
 
NATIVE_INT_TYPE getInstance (void) const
 

Public Attributes

PRIVATE __pad0__: void CreateDirectory_cmdHandler( const FwOpcodeType opCode
 The opcode. More...
 
PRIVATE const U32 cmdSeq
 The command sequence number. More...
 
PRIVATE const U32 const Fw::CmdStringArgdirName
 < The directory to create More...
 
PRIVATE __pad1__: NATIVE_INT_TYPE systemCall( const Fw::CmdStringArg& command
 The command. More...
 
PRIVATE const Fw::CmdStringArg &logFileName const
 < The log file name More...
 
PRIVATE __pad2__: U32 commandCount
 
U32 errorCount
 
- Public Attributes inherited from Svc::FileManagerComponentBase
PROTECTED __pad0__: FileManagerComponentBase(void)
 
PROTECTED __pad1__: virtual void pingIn_handler( NATIVE_INT_TYPE portNum
 
PROTECTED U32 key = 0
 
PROTECTED __pad2__: void pingIn_handlerBase( NATIVE_INT_TYPE portNum
 
PROTECTED __pad3__: virtual void pingIn_preMsgHook( NATIVE_INT_TYPE portNum
 
PROTECTED __pad4__: void pingOut_out( NATIVE_INT_TYPE portNum
 
PROTECTED __pad5__: NATIVE_INT_TYPE getNum_cmdIn_InputPorts(void)
 
PROTECTED __pad6__: NATIVE_INT_TYPE getNum_cmdRegOut_OutputPorts(void)
 
PROTECTED __pad7__: bool isConnected_cmdRegOut_OutputPort( NATIVE_INT_TYPE portNum )
 
PROTECTED __pad8__: enum { OPCODE_CREATEDIRECTORY = 0x0
 
PROTECTED OPCODE_MOVEFILE = 0x1
 
PROTECTED OPCODE_REMOVEDIRECTORY = 0x2
 
PROTECTED OPCODE_REMOVEFILE = 0x3
 
PROTECTED OPCODE_SHELLCOMMAND = 0x4
 
PROTECTED OPCODE_APPENDFILE = 0x5
 
PROTECTED PROTECTED: virtual void CreateDirectory_cmdHandler( FwOpcodeType opCode
 
PROTECTED U32 cmdSeq
 
PROTECTED U32 const Fw::CmdStringArgdirName = 0
 
PROTECTED __pad9__: virtual void CreateDirectory_preMsgHook( FwOpcodeType opCode
 
PROTECTED __pad10__: void CreateDirectory_cmdHandlerBase( FwOpcodeType opCode
 
PROTECTED U32 Fw::CmdArgBufferargs
 
PROTECTED __pad11__: void cmdResponse_out( FwOpcodeType opCode
 
PROTECTED U32 Fw::CommandResponse response
 
PROTECTED __pad12__: enum { EVENTID_DIRECTORYCREATEERROR = 0x0
 
PROTECTED EVENTID_DIRECTORYREMOVEERROR = 0x1
 
PROTECTED EVENTID_FILEMOVEERROR = 0x2
 
PROTECTED EVENTID_FILEREMOVEERROR = 0x3
 
PROTECTED EVENTID_SHELLCOMMANDFAILED = 0x4
 
PROTECTED EVENTID_APPENDFILEFAILED = 0x5
 
PROTECTED EVENTID_APPENDFILESUCCEEDED = 0x6
 
PROTECTED EVENTID_SHELLCOMMANDSUCCEEDED = 0x7
 
PROTECTED EVENTID_CREATEDIRECTORYSUCCEEDED = 0x8
 
PROTECTED EVENTID_REMOVEDIRECTORYSUCCEEDED = 0x9
 
PROTECTED EVENTID_MOVEFILESUCCEEDED = 0xA
 
PROTECTED EVENTID_REMOVEFILESUCCEEDED = 0xB
 
PROTECTED EVENTID_APPENDFILESTARTED = 0xC
 
PROTECTED EVENTID_SHELLCOMMANDSTARTED = 0xD
 
PROTECTED EVENTID_CREATEDIRECTORYSTARTED = 0xE
 
PROTECTED EVENTID_REMOVEDIRECTORYSTARTED = 0xF
 
PROTECTED EVENTID_MOVEFILESTARTED = 0x10
 
PROTECTED EVENTID_REMOVEFILESTARTED = 0x11
 
PROTECTED U32 status
 
PROTECTED __pad13__: enum { CHANNELID_COMMANDSEXECUTED = 0x0
 Channel ID for CommandsExecuted. More...
 
PROTECTED CHANNELID_ERRORS = 0x1
 Channel ID for Errors. More...
 
PROTECTED __pad14__: Fw::Time getTime(void)
 
PRIVATE __pad15__: Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS]
 
Svc::InputPingPort m_pingIn_InputPort [NUM_PINGIN_INPUT_PORTS]
 
PRIVATE __pad16__: Fw::OutputCmdRegPort m_cmdRegOut_OutputPort[NUM_CMDREGOUT_OUTPUT_PORTS]
 
Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort [NUM_CMDRESPONSEOUT_OUTPUT_PORTS]
 
Fw::OutputLogPort m_eventOut_OutputPort [NUM_EVENTOUT_OUTPUT_PORTS]
 
Fw::OutputTimePort m_timeCaller_OutputPort [NUM_TIMECALLER_OUTPUT_PORTS]
 
Fw::OutputTlmPort m_tlmOut_OutputPort [NUM_TLMOUT_OUTPUT_PORTS]
 
Svc::OutputPingPort m_pingOut_OutputPort [NUM_PINGOUT_OUTPUT_PORTS]
 
PRIVATE __pad17__: static void m_p_cmdIn_in( Fw::PassiveComponentBase* callComp
 
PRIVATE NATIVE_INT_TYPE portNum
 
PRIVATE NATIVE_INT_TYPE FwOpcodeType opCode
 
PRIVATE NATIVE_INT_TYPE FwOpcodeType U32 cmdSeq
 
PRIVATE NATIVE_INT_TYPE FwOpcodeType U32 Fw::CmdArgBufferargs
 
PRIVATE __pad18__: virtual MsgDispatchStatus doDispatch(void)
 
- Public Attributes inherited from Fw::ActiveComponentBase
PROTECTED __pad0__: ActiveComponentBase(const char* name)
 Constructor. More...
 
Os::Task m_task
 task object for active component More...
 
PRIVATE __pad1__: static void s_baseTask(void*)
 function provided to task class for new thread. More...
 
- Public Attributes inherited from Fw::QueuedComponentBase
PROTECTED __pad0__: QueuedComponentBase(const char* name)
 Constructor. More...
 
Os::Queue m_queue
 queue object for active component More...
 
PRIVATE __pad1__: NATIVE_INT_TYPE m_msgsDropped
 number of messages dropped from full queue More...
 
- Public Attributes inherited from Fw::PassiveComponentBase
PROTECTED __pad0__: PassiveComponentBase(const char* name)
 Named constructor. More...
 
PRIVATE __pad1__: U32 m_idBase
 ID base for opcodes etc. More...
 
NATIVE_INT_TYPE m_instance
 instance of component object More...
 

Additional Inherited Members

- Public Types inherited from Svc::FileManagerComponentBase
enum  { NUM_CMDIN_INPUT_PORTS = 1, NUM_PINGIN_INPUT_PORTS = 1 }
 
enum  {
  NUM_CMDREGOUT_OUTPUT_PORTS = 1, NUM_CMDRESPONSEOUT_OUTPUT_PORTS = 1, NUM_EVENTOUT_OUTPUT_PORTS = 1, NUM_TIMECALLER_OUTPUT_PORTS = 1,
  NUM_TLMOUT_OUTPUT_PORTS = 1, NUM_PINGOUT_OUTPUT_PORTS = 1, NUM_LOGTEXT_OUTPUT_PORTS = 1
}
 
- Public Types inherited from Fw::ActiveComponentBase
enum  { ACTIVE_COMPONENT_EXIT }
 
- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK, MSG_DISPATCH_EMPTY, MSG_DISPATCH_ERROR, MSG_DISPATCH_EXIT }
 
- Static Public Member Functions inherited from Svc::FileManagerComponentBase
static void m_p_pingIn_in (Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, U32 key)
 
- Static Public Member Functions inherited from Fw::ActiveComponentBase
static void s_baseBareTask (void *)
 function provided to task class for new thread. More...
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init (void)
 Object initializer. More...
 

Detailed Description

Definition at line 21 of file FileManager.hpp.

Constructor & Destructor Documentation

◆ FileManager()

Svc::FileManager::FileManager ( const char *const  compName)

Construct object FileManager

Parameters
compNameThe component name

Definition at line 26 of file FileManager.cpp.

◆ ~FileManager()

Svc::FileManager::~FileManager ( void  )

Destroy object FileManager

Definition at line 46 of file FileManager.cpp.

Member Function Documentation

◆ AppendFile_cmdHandler()

void Svc::FileManager::AppendFile_cmdHandler ( const FwOpcodeType  opCode,
const U32  cmdSeq,
const Fw::CmdStringArg source,
const Fw::CmdStringArg target 
)
virtual

Implementation for ConcatFiles command handler Append 1 file's contents to the end of another.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
targetThe name of the file to take content from The name of the file to append to

Implements Svc::FileManagerComponentBase.

Definition at line 185 of file FileManager.cpp.

◆ emitTelemetry()

void Svc::FileManager::emitTelemetry ( const Os::FileSystem::Status  status)

Emit telemetry based on status

Parameters
statusThe status

Definition at line 246 of file FileManager.cpp.

◆ init()

void Svc::FileManager::init ( const NATIVE_INT_TYPE  queueDepth,
const NATIVE_INT_TYPE  instance 
)

Initialize object FileManager

Parameters
queueDepthThe queue depth
instanceThe instance number

Definition at line 37 of file FileManager.cpp.

◆ MoveFile_cmdHandler()

void Svc::FileManager::MoveFile_cmdHandler ( const FwOpcodeType  opCode,
const U32  cmdSeq,
const Fw::CmdStringArg sourceFileName,
const Fw::CmdStringArg destFileName 
)
virtual

Implementation for MoveFile command handler

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
sourceFileNameThe source file name
destFileNameThe destination file name

Implements Svc::FileManagerComponentBase.

Definition at line 102 of file FileManager.cpp.

◆ pingIn_handler()

void Svc::FileManager::pingIn_handler ( const NATIVE_INT_TYPE  portNum,
U32  key 
)

Handler implementation for pingIn

Parameters
portNumThe port number
keyValue to return to pinger

Definition at line 216 of file FileManager.cpp.

◆ RemoveDirectory_cmdHandler()

void Svc::FileManager::RemoveDirectory_cmdHandler ( const FwOpcodeType  opCode,
const U32  cmdSeq,
const Fw::CmdStringArg dirName 
)
virtual

Implementation for RemoveDirectory command handler

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
dirNameThe directory to remove

Implements Svc::FileManagerComponentBase.

Definition at line 129 of file FileManager.cpp.

◆ RemoveFile_cmdHandler()

void Svc::FileManager::RemoveFile_cmdHandler ( const FwOpcodeType  opCode,
const U32  cmdSeq,
const Fw::CmdStringArg fileName 
)
virtual

Implementation for RemoveFile command handler

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
fileNameThe file to remove

Implements Svc::FileManagerComponentBase.

Definition at line 79 of file FileManager.cpp.

◆ sendCommandResponse()

void Svc::FileManager::sendCommandResponse ( const FwOpcodeType  opCode,
const U32  cmdSeq,
const Os::FileSystem::Status  status 
)

Send command response based on status

Parameters
opCodeThe opcode
cmdSeqThe command sequence value
statusThe status

Definition at line 259 of file FileManager.cpp.

◆ ShellCommand_cmdHandler()

void Svc::FileManager::ShellCommand_cmdHandler ( const FwOpcodeType  opCode,
const U32  cmdSeq,
const Fw::CmdStringArg command,
const Fw::CmdStringArg logFileName 
)
virtual

Implementation for ShellCommand command handler

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
commandThe shell command string
logFileNameThe name of the log file

Implements Svc::FileManagerComponentBase.

Definition at line 152 of file FileManager.cpp.

Member Data Documentation

◆ __pad0__

PRIVATE Svc::FileManager::__pad0__

The opcode.

Definition at line 48 of file FileManager.hpp.

◆ __pad1__

PRIVATE Svc::FileManager::__pad1__

The command.

Definition at line 112 of file FileManager.hpp.

◆ __pad2__

PRIVATE Svc::FileManager::__pad2__

Definition at line 139 of file FileManager.hpp.

◆ cmdSeq

PRIVATE const U32 Svc::FileManager::cmdSeq

The command sequence number.

Definition at line 58 of file FileManager.hpp.

◆ const

PRIVATE const Fw::CmdStringArg& logFileName Svc::FileManager::const

< The log file name

Definition at line 123 of file FileManager.hpp.

◆ dirName

PRIVATE const U32 const Fw::CmdStringArg& Svc::FileManager::dirName

< The directory to create

Definition at line 59 of file FileManager.hpp.

◆ errorCount

U32 Svc::FileManager::errorCount

The total number of errors

Definition at line 151 of file FileManager.hpp.


The documentation for this class was generated from the following files: