| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #pragma once
- #include <stdlib.h>
- #include <stdbool.h>
- #include <toolbox/stream/stream.h>
- #include <mlib/m-string.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef enum {
- FlipperStreamValueIgnore,
- FlipperStreamValueStr,
- FlipperStreamValueHex,
- FlipperStreamValueFloat,
- FlipperStreamValueInt32,
- FlipperStreamValueUint32,
- FlipperStreamValueHexUint64,
- FlipperStreamValueBool,
- } FlipperStreamValue;
- typedef struct {
- const char* key;
- FlipperStreamValue type;
- const void* data;
- size_t data_size;
- } FlipperStreamWriteData;
- /**
- * Writes a key/value pair to the stream.
- * @param stream
- * @param write_data
- * @return true
- * @return false
- */
- bool flipper_format_stream_write_value_line(Stream* stream, FlipperStreamWriteData* write_data);
- /**
- * Reads a value by key from a stream.
- * @param stream
- * @param key
- * @param type
- * @param _data
- * @param data_size
- * @param strict_mode
- * @return true
- * @return false
- */
- bool flipper_format_stream_read_value_line(
- Stream* stream,
- const char* key,
- FlipperStreamValue type,
- void* _data,
- size_t data_size,
- bool strict_mode);
- /**
- * Get the count of values by key from a stream.
- * @param stream
- * @param key
- * @param count
- * @param strict_mode
- * @return true
- * @return false
- */
- bool flipper_format_stream_get_value_count(
- Stream* stream,
- const char* key,
- uint32_t* count,
- bool strict_mode);
- /**
- * Removes a key and the corresponding value string from the stream and inserts a new key/value pair.
- * @param stream
- * @param write_data
- * @param strict_mode
- * @return true
- * @return false
- */
- bool flipper_format_stream_delete_key_and_write(
- Stream* stream,
- FlipperStreamWriteData* write_data,
- bool strict_mode);
- /**
- * Writes a comment string to the stream.
- * @param stream
- * @param data
- * @return true
- * @return false
- */
- bool flipper_format_stream_write_comment_cstr(Stream* stream, const char* data);
- #ifdef __cplusplus
- }
- #endif
|