Developer Application Interface (ARC API) v4.5.8
ARC, Inc. GenIV Application Interface
CArcDLoadPacket.h
1// +------------------------------------------------------------------------------------------------------------------+
2// | FILE: CArcDloadPacket.h ( GenIV ) |
3// +------------------------------------------------------------------------------------------------------------------+
4// | PURPOSE: This file defines the ARC download firmware packet class. |
5// | |
6// | AUTHOR: Scott Streit DATE: June 18, 2015 |
7// | |
8// | Copyright 2014 Astronomical Research Cameras, Inc. All rights reserved. |
9// +------------------------------------------------------------------------------------------------------------------+
12#pragma once
13
14
15#include <cstdint>
16#include <memory>
17
18#include <CArcCommandPacket.h>
19#include <CArcDeviceDllMain.h>
20
21
22
23namespace arc
24{
25 namespace gen4
26 {
27
32 class GEN4_CARCDEVICE_API CArcDLoadPacket final : public CArcCommandPacket
33 {
34 public:
35
40 static bool instanceOf( const arc::gen4::CArcPacket& rObject );
41
45 CArcDLoadPacket( const std::uint8_t uiId = 0 );
46
50 CArcDLoadPacket( const arc::gen4::CArcDLoadPacket& tObject ) = delete;
51
56
60 CArcDLoadPacket( arc::gen4::CArcDLoadPacket&& tObject ) noexcept = delete;
61
65 CArcDLoadPacket& operator=( arc::gen4::CArcDLoadPacket&& tObject ) noexcept = delete;
66
69 virtual ~CArcDLoadPacket( void );
70
74 virtual bool headerValid( void ) const noexcept override;
75
79 bool filled( void ) const noexcept;
80
85 void add( const std::uint32_t uiValue );
86
89 void markAsFirst( void ) noexcept;
90
93 void markAsLast( void ) noexcept;
94
98 bool isLast( void ) const noexcept;
99
104 virtual const std::string getName( void ) const override;
105
106 protected:
107
109 static constexpr std::uint8_t PAYLOAD_ID = 0xAD;
110
113 static constexpr std::uint8_t LAST_DLOAD_PACKET_ID = 0xFF;
114
117 std::uint32_t* m_pInserter;
118
119 };
120
121 } // end gen4 namespace
122} // end arc namespace
123
124
125
126#ifndef DOXYGEN_SHOULD_SKIP_THIS
127
128namespace std
129{
135 template<>
136 class GEN4_CARCDEVICE_API default_delete< arc::gen4::CArcDLoadPacket >
137 {
138 public:
139
143 void operator()( arc::gen4::CArcDLoadPacket* pObj );
144 };
145}
146
147#endif // DOXYGEN_SHOULD_SKIP_THIS
virtual ~CArcDLoadPacket(void)
bool filled(void) const noexcept
CArcDLoadPacket & operator=(const arc::gen4::CArcDLoadPacket &tObject)=delete
bool isLast(void) const noexcept
static bool instanceOf(const arc::gen4::CArcPacket &rObject)
virtual const std::string getName(void) const override
void markAsLast(void) noexcept
CArcDLoadPacket & operator=(arc::gen4::CArcDLoadPacket &&tObject) noexcept=delete
CArcDLoadPacket(arc::gen4::CArcDLoadPacket &&tObject) noexcept=delete
void markAsFirst(void) noexcept
CArcDLoadPacket(const arc::gen4::CArcDLoadPacket &tObject)=delete
void add(const std::uint32_t uiValue)
virtual bool headerValid(void) const noexcept override
CArcDLoadPacket(const std::uint8_t uiId=0)
Definition: CArcBase.h:50