file system support
This commit is contained in:
parent
b5fe1fa530
commit
e252a5b795
28
memory/FileSystemMessage.cpp
Normal file
28
memory/FileSystemMessage.cpp
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* FileSystemMessage.cpp
|
||||
*
|
||||
* Created on: 19.01.2020
|
||||
* Author: Jakob Meier
|
||||
*/
|
||||
|
||||
#include "FileSystemMessage.h"
|
||||
#include <framework/objectmanager/ObjectManagerIF.h>
|
||||
|
||||
ReturnValue_t FileSystemMessage::setWriteToFileCommand(CommandMessage* message,
|
||||
MessageQueueId_t replyQueueId, store_address_t storageID) {
|
||||
message->setCommand(WRITE_TO_FILE);
|
||||
message->setParameter(replyQueueId);
|
||||
message->setParameter2(storageID.raw);
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
store_address_t FileSystemMessage::getStoreID(const CommandMessage* message) {
|
||||
store_address_t temp;
|
||||
temp.raw = message->getParameter2();
|
||||
return temp;
|
||||
}
|
||||
|
||||
MessageQueueId_t FileSystemMessage::getReplyQueueId(const CommandMessage* message){
|
||||
return message->getParameter();
|
||||
}
|
||||
|
30
memory/FileSystemMessage.h
Normal file
30
memory/FileSystemMessage.h
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* FileSystemMessage.h
|
||||
*
|
||||
* Created on: 19.01.2020
|
||||
* Author: Jakob Meier
|
||||
*/
|
||||
|
||||
#ifndef FRAMEWORK_MEMORY_FILESYSTEMMESSAGE_H_
|
||||
#define FRAMEWORK_MEMORY_FILESYSTEMMESSAGE_H_
|
||||
|
||||
#include <framework/ipc/CommandMessage.h>
|
||||
#include <framework/storagemanager/StorageManagerIF.h>
|
||||
#include <framework/objectmanager/SystemObject.h>
|
||||
|
||||
class FileSystemMessage {
|
||||
private:
|
||||
FileSystemMessage(); //A private ctor inhibits instantiation
|
||||
public:
|
||||
static const uint8_t MESSAGE_ID = MESSAGE_TYPE::FILE_SYSTEM_MESSAGE;
|
||||
static const Command_t CREATE_FILE = MAKE_COMMAND_ID( 0x01 );
|
||||
static const Command_t DELETE_FILE = MAKE_COMMAND_ID( 0x02 );
|
||||
static const Command_t WRITE_TO_FILE = MAKE_COMMAND_ID( 0x80 );
|
||||
|
||||
static ReturnValue_t setWriteToFileCommand(CommandMessage* message, MessageQueueId_t replyToQueue, store_address_t storageID );
|
||||
static store_address_t getStoreID( const CommandMessage* message );
|
||||
static MessageQueueId_t getReplyQueueId(const CommandMessage* message);
|
||||
|
||||
};
|
||||
|
||||
#endif /* FRAMEWORK_MEMORY_FILESYSTEMMESSAGE_H_ */
|
36
memory/HasFileSystemIF.h
Normal file
36
memory/HasFileSystemIF.h
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* HasFileSystemIF.h
|
||||
*
|
||||
* Created on: 19.01.2020
|
||||
* Author: Jakob Meier
|
||||
*/
|
||||
|
||||
#ifndef FRAMEWORK_MEMORY_HASFILESYSTEMIF_H_
|
||||
#define FRAMEWORK_MEMORY_HASFILESYSTEMIF_H_
|
||||
|
||||
#include <framework/returnvalues/HasReturnvaluesIF.h>
|
||||
|
||||
class HasFileSystemIF {
|
||||
public:
|
||||
|
||||
virtual ~HasFileSystemIF() {}
|
||||
/**
|
||||
* Function to get the MessageQueueId_t of the implementing object
|
||||
* @return MessageQueueId_t of the object
|
||||
*/
|
||||
virtual MessageQueueId_t getCommandQueue() const = 0;
|
||||
/**
|
||||
* Function to write to a file
|
||||
* @param dirname Directory of the file
|
||||
* @param filename The filename of the file
|
||||
* @param data The data to write to the file
|
||||
* @param size The size of the data to write
|
||||
* @param packetNumber Counts the number of packets. For large files the write procedure must be split in multiple calls to writeToFile
|
||||
*/
|
||||
virtual ReturnValue_t writeToFile(const char* dirname, char* filename, const uint8_t* data, uint32_t size, uint16_t packetNumber) = 0;
|
||||
virtual ReturnValue_t createFile(const char* dirname, const char* filename, const uint8_t* data, uint32_t size) = 0;
|
||||
virtual ReturnValue_t deleteFile(const char* dirname, const char* filename) = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif /* FRAMEWORK_MEMORY_HASFILESYSTEMIF_H_ */
|
Loading…
Reference in New Issue
Block a user