CVB++ 15.0
Loading...
Searching...
No Matches
decl_stream.hpp
1#pragma once
2
3#include "../../global.hpp"
4
5#include "../../image.hpp"
6
7#include "../chunk_image_buffer_description.hpp"
8#include "../_decl/decl_stream_base.hpp"
9#include "../gevserver.hpp"
10
11namespace Cvb
12{
13 CVB_BEGIN_INLINE_NS
14 namespace GevServer
15 {
17
20 {
21 public:
26 explicit Stream(const ServerBasePtr &parent)
27 : StreamBase(parent)
28 {
29 }
30
52 void Send(const ImagePtr &image, std::function<void(const ImagePtr &)> imageReleased);
53
79 bool TrySend(const ImagePtr &image, std::function<void(const ImagePtr &)> imageReleased);
80
97 void Send(const Image &image);
98
119 bool TrySend(const Image &image);
120
143 void Send(const ImageBufferDescription &bufferDescription, void *basePtr, const std::size_t &bufferSize,
144 std::function<void(void *)> bufferReleased);
145
160 bool TrySend(const ImageBufferDescription &bufferDescription, void *basePtr, const std::size_t &bufferSize,
161 std::function<void(void *)> bufferReleased);
162
163 private:
164
165 CExports::cvbres_t InnerSend(const ImagePtr &image, std::function<void(const ImagePtr &)> callback);
166
167 CExports::cvbres_t InnerSend(const Image &image);
168
169 CExports::cvbres_t InnerSend(const ImageBufferDescription &description, void *basePtr, std::size_t bufferSize,
170 std::function<void(void *)> callback);
171
172 CExports::cvbres_t InnerSend(const ChunkImageBufferDescription &description, void *basePtr,
173 std::size_t bufferSize, std::function<void(void *)> callback);
174 };
175 } // namespace GevServer
176 CVB_END_INLINE_NS
177} // namespace Cvb
Describes a GenICam Pixel Format Naming Convention (PFNC) compatible image memory buffer with possibl...
Definition chunk_image_buffer_description.hpp:22
Describes a GenICam Pixel Format Naming Convention (PFNC) compatible image memory buffer.
Definition image_buffer_description.hpp:24
StreamBase(const ServerBasePtr &parent)
Creates the stream from the given parent server.
Definition decl_stream_base.hpp:25
bool TrySend(const ImagePtr &image, std::function< void(const ImagePtr &)> imageReleased)
Tries to send the given image to the remote client.
Definition detail_stream.hpp:26
void Send(const ImagePtr &image, std::function< void(const ImagePtr &)> imageReleased)
Sends the given image to the remote client.
Definition detail_stream.hpp:19
Stream(const ServerBasePtr &parent)
Creates the stream from the given parent server.
Definition decl_stream.hpp:26
Namespace for GevServer based device configuration.
Definition decl_int_swiss_knife_node.hpp:11
@ Image
Image payload.
Definition gevserver.hpp:313
std::shared_ptr< ServerBase > ServerBasePtr
Convenience shared pointer for GevServer.
Definition gevserver.hpp:39
Root namespace for the Image Manager interface.
Definition version.hpp:11
std::shared_ptr< Image > ImagePtr
Convenience shared pointer for Image.
Definition global.hpp:86