13#include <peak/dll_interface/peak_dll_interface_util.hpp>
195 friend ClassCreator<PortURL>;
199 std::weak_ptr<Port> m_parentPort;
215 : m_backendHandle(portUrlHandle)
216 , m_parentPort(parentPort)
221 return QueryRawInformationFromCInterfaceFunction([&](int32_t* dataType, uint8_t* buffer,
size_t* bufferSize) {
228 return QueryStringFromCInterfaceFunction([&](
char* url,
size_t* urlSize) {
243 return QueryStringFromCInterfaceFunction([&](
char* fileName,
size_t* fileNameSize) {
250 return QueryNumericFromCInterfaceFunction<uint64_t>([&](uint64_t* fileRegisterAddress) {
257 return QueryNumericFromCInterfaceFunction<uint64_t>([&](uint64_t* fileSize) {
264 return QueryNumericArrayFromCInterfaceFunction<uint8_t>([&](uint8_t* fileSha1Hash,
size_t* fileSha1HashSize) {
271 return QueryNumericFromCInterfaceFunction<int32_t>([&](int32_t* fileVersionMajor) {
278 return QueryNumericFromCInterfaceFunction<int32_t>([&](int32_t* fileVersionMinor) {
285 return QueryNumericFromCInterfaceFunction<int32_t>([&](int32_t* fileVersionSubminor) {
292 return QueryNumericFromCInterfaceFunction<int32_t>([&](int32_t* fileSchemaVersionMajor) {
299 return QueryNumericFromCInterfaceFunction<int32_t>([&](int32_t* fileSchemaVersionMinor) {
306 return m_parentPort.lock();
311 std::string entryString;
315 entryString =
"Local";
319 entryString =
"HTTP";
323 entryString =
"File";
327 entryString =
"Custom";
PortURL(PortURL &&other)=delete
PEAK_COMMON_NO_DISCARD int32_t FileSchemaVersionMajor() const
Returns the file schema major version.
Definition peak_port_url.hpp:290
PortURL(const PortURL &other)=delete
PEAK_COMMON_NO_DISCARD int32_t FileSchemaVersionMinor() const
Returns the file schema minor version.
Definition peak_port_url.hpp:297
PEAK_COMMON_NO_DISCARD RawInformation Info(int32_t infoCommand) const
Delivers information based on the given GenTL info command.
Definition peak_port_url.hpp:219
PEAK_COMMON_NO_DISCARD std::string URL() const
Returns the URL.
Definition peak_port_url.hpp:226
PortURL & operator=(PortURL &&other)=delete
PEAK_COMMON_NO_DISCARD int32_t FileVersionMinor() const
Returns the file major version.
Definition peak_port_url.hpp:276
PEAK_COMMON_NO_DISCARD int32_t FileVersionMajor() const
Returns the file major version.
Definition peak_port_url.hpp:269
PEAK_COMMON_NO_DISCARD uint64_t FileRegisterAddress() const
Returns the file register address.
Definition peak_port_url.hpp:248
PEAK_COMMON_NO_DISCARD std::string FileName() const
Returns the file name.
Definition peak_port_url.hpp:241
PEAK_COMMON_NO_DISCARD uint64_t FileSize() const
Returns the file size.
Definition peak_port_url.hpp:255
PEAK_COMMON_NO_DISCARD int32_t FileVersionSubminor() const
Returns the file subminor version.
Definition peak_port_url.hpp:283
PEAK_COMMON_NO_DISCARD PortURLScheme Scheme() const
Returns the scheme.
Definition peak_port_url.hpp:233
PEAK_COMMON_NO_DISCARD std::vector< uint8_t > FileSHA1Hash() const
Returns the file SHA1 hash.
Definition peak_port_url.hpp:262
PEAK_COMMON_NO_DISCARD std::shared_ptr< class Port > ParentPort() const
Returns the parent port.
Definition peak_port_url.hpp:304
PortURL & operator=(const PortURL &other)=delete
@ File
Definition peak_buffer.hpp:45
@ Custom
Definition peak_buffer.hpp:54
The "core" namespace contains the direct GenAPI and GenTL wrapper.
Definition peak_buffer.hpp:32
std::string ToString(BufferPayloadType entry)
Definition peak_buffer.hpp:635
PortURLScheme
Possible URL schemes for the port.
Definition peak_port_url.hpp:33
@ File
Definition peak_port_url.hpp:36
@ HTTP
Definition peak_port_url.hpp:35
@ Local
Definition peak_port_url.hpp:34
@ Custom
Definition peak_port_url.hpp:38
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition peak_buffer.hpp:29
PEAK_C_API PEAK_PortURL_GetScheme(PEAK_PORT_URL_HANDLE portUrlHandle, PEAK_PORT_URL_SCHEME *scheme)
Asks the given port URL for its scheme.
struct PEAK_PORT_URL * PEAK_PORT_URL_HANDLE
Definition peak_backend.h:471
PEAK_C_API PEAK_PortURL_GetURL(PEAK_PORT_URL_HANDLE portUrlHandle, char *url, size_t *urlSize)
Asks the given port URL for its URL string.
PEAK_C_API PEAK_PortURL_GetFileVersionMinor(PEAK_PORT_URL_HANDLE portUrlHandle, int32_t *fileVersionMinor)
Asks the given port URL for the minor component of its file version.
PEAK_C_API PEAK_PortURL_GetFileVersionMajor(PEAK_PORT_URL_HANDLE portUrlHandle, int32_t *fileVersionMajor)
Asks the given port URL for the major component of its file version.
PEAK_C_API PEAK_PortURL_GetFileName(PEAK_PORT_URL_HANDLE portUrlHandle, char *fileName, size_t *fileNameSize)
Asks the given port URL for its file name.
PEAK_C_API PEAK_PortURL_GetFileRegisterAddress(PEAK_PORT_URL_HANDLE portUrlHandle, uint64_t *fileRegisterAddress)
Asks the given port URL for its file register address.
int32_t PEAK_PORT_URL_SCHEME
Definition peak_backend.h:327
PEAK_C_API PEAK_PortURL_GetFileSize(PEAK_PORT_URL_HANDLE portUrlHandle, uint64_t *fileSize)
Asks the given port URL for its file size.
PEAK_C_API PEAK_PortURL_GetFileVersionSubminor(PEAK_PORT_URL_HANDLE portUrlHandle, int32_t *fileVersionSubminor)
Asks the given port URL for the subminor component of its file version.
PEAK_C_API PEAK_PortURL_GetInfo(PEAK_PORT_URL_HANDLE portUrlHandle, int32_t infoCommand, int32_t *infoDataType, uint8_t *info, size_t *infoSize)
Asks the given port URL for an information based on a specific command.
PEAK_C_API PEAK_PortURL_GetFileSHA1Hash(PEAK_PORT_URL_HANDLE portUrlHandle, uint8_t *fileSha1Hash, size_t *fileSha1HashSize)
Asks the given port URL for its file SHA1 hash.
#define PEAK_COMMON_NO_DISCARD
Definition peak_common_defines.h:89
#define PEAK_C_ABI_PREFIX
Definition peak_dll_defines.h:13