8#include "AdsException.h"
10#include "wrap_endian.h"
18static const size_t DEVICE_NAME_LENGTH = 16;
25 char name[DEVICE_NAME_LENGTH];
42 void operator()(T* resource)
noexcept
44 FreeResource(*resource);
48 const std::function<long(T)> FreeResource;
51using AdsResource = std::unique_ptr<T, ResourceDeleter<T> >;
53using AdsHandle = AdsResource<uint32_t>;
61 AdsHandle
GetHandle(uint32_t offset)
const;
64 AdsHandle
GetHandle(
const std::string& symbolName)
const;
71 uint32_t hUser)
const;
74 AdsHandle
OpenFile(
const std::string& filename, uint32_t flags)
const;
76 long GetLocalPort()
const;
79 void SetState(
const ADSSTATE AdsState,
const ADSSTATE DeviceState)
const;
81 uint32_t GetTimeout()
const;
82 void SetTimeout(
const uint32_t timeout)
const;
84 long ReadReqEx2(uint32_t group, uint32_t offset,
size_t length,
void* buffer, uint32_t* bytesRead)
const;
85 long ReadWriteReqEx2(uint32_t indexGroup,
90 const void* writeData,
91 uint32_t* bytesRead)
const;
92 long WriteReqEx(uint32_t group, uint32_t offset,
size_t length,
const void* buffer)
const;
94 AdsResource<const AmsNetId> m_NetId;
97 AdsResource<const long> m_LocalPort;
98 long CloseFile(uint32_t handle)
const;
99 long DeleteNotificationHandle(uint32_t handle)
const;
100 long DeleteSymbolHandle(uint32_t handle)
const;
void(* PAdsNotificationFuncEx)(const AmsAddr *pAddr, const AdsNotificationHeader *pNotification, uint32_t hUser)
Type definition of the callback function required by the AdsSyncAddDeviceNotificationReqEx() function...
Definition: AdsDef.h:363
Definition: AdsDevice.h:31
Definition: AdsDevice.h:55
AdsHandle GetHandle(uint32_t offset) const
Definition: AdsDevice.cpp:58
AdsHandle OpenFile(const std::string &filename, uint32_t flags) const
Definition: AdsDevice.cpp:160
This structure contains all the attributes for the definition of a notification.
Definition: AdsDef.h:323
The structure contains the version number, revision number and build number.
Definition: AdsDef.h:248
The complete address of an ADS device can be stored in this structure.
Definition: AdsDef.h:237
The NetId of and ADS device can be represented in this structure.
Definition: AdsDef.h:224
Device information containing device name and version.
Definition: AdsDevice.h:23
char name[DEVICE_NAME_LENGTH]
Definition: AdsDevice.h:25
AdsVersion version
Definition: AdsDevice.h:28
Definition: AdsDevice.h:37