nx_cloud_storage_sdk  1.0
Cloud Storage SDK
i_stream_writer.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include <camera/camera_plugin.h>
6 #include <nx/sdk/i_plugin.h>
7 #include <nx/sdk/interface.h>
8 #include <nx/sdk/result.h>
9 
10 #include "i_media_data_packet.h"
11 
12 namespace nx::sdk::cloud_storage {
13 
24 class IStreamWriter: public Interface<IStreamWriter>
25 {
26 public:
27  static auto interfaceId() { return makeId("nx::sdk::archive::IStreamWriter"); }
28 
43  virtual ErrorCode putData(const IMediaDataPacket* packet) = 0;
44 
49  virtual ErrorCode close(int64_t durationMs) = 0;
50 
54  virtual int size() const = 0;
55 };
56 
57 } // namespace nx::sdk::cloud_storage
virtual ErrorCode close(int64_t durationMs)=0
Definition: interface.h:48
Definition: i_media_data_packet.h:16
Definition: i_stream_writer.h:24
Definition: algorithm.cpp:8
static constexpr const InterfaceId * makeId(const char(&charArray)[len])
Definition: i_ref_countable.h:76
virtual ErrorCode putData(const IMediaDataPacket *packet)=0