Open Lighting Architecture
0.10.9
Loading...
Searching...
No Matches
libs
acn
RootSender.h
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 2 of the License, or
5
* (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU Library General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software
14
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15
*
16
* RootSender.h
17
* The RootSender class manages the sending of Root Layer PDUs.
18
* Copyright (C) 2007 Simon Newton
19
*/
20
21
#ifndef LIBS_ACN_ROOTSENDER_H_
22
#define LIBS_ACN_ROOTSENDER_H_
23
24
#include "
ola/acn/CID.h
"
25
#include "libs/acn/PDU.h"
26
#include "libs/acn/RootPDU.h"
27
#include "libs/acn/Transport.h"
28
29
namespace
ola
{
30
namespace
acn {
31
32
class
RootSender
{
33
public
:
34
explicit
RootSender
(
const
ola::acn::CID
&cid);
35
~RootSender
() {}
36
37
// Convenience method to encapsulate & send a single PDU
38
bool
SendPDU(
unsigned
int
vector,
39
const
PDU
&pdu,
40
OutgoingTransport
*transport);
41
// Send a RootPDU with no data
42
bool
SendEmpty(
unsigned
int
vector,
43
OutgoingTransport
*transport);
44
// Use for testing to force a message from a particular cid
45
bool
SendPDU(
unsigned
int
vector,
46
const
PDU
&pdu,
47
const
ola::acn::CID
&cid,
48
OutgoingTransport
*transport);
49
// Encapsulation & send a block of PDUs
50
bool
SendPDUBlock(
unsigned
int
vector,
51
const
PDUBlock<PDU>
&block,
52
OutgoingTransport
*transport);
53
54
// TODO(simon): add methods to queue and send PDUs/blocks with different
55
// vectors
56
57
private
:
58
PDUBlock<PDU>
m_working_block;
59
PDUBlock<PDU>
m_root_block;
60
RootPDU
m_root_pdu;
61
62
RootSender
(
const
RootSender
&);
63
RootSender
& operator=(
const
RootSender
&);
64
};
65
}
// namespace acn
66
}
// namespace ola
67
#endif
// LIBS_ACN_ROOTSENDER_H_
CID.h
The ACN component identifier.
ola::acn::CID
The ACN component identifier.
Definition
CID.h:47
ola::acn::OutgoingTransport
Definition
Transport.h:37
ola::acn::PDUBlock
Definition
PDU.h:103
ola::acn::PDU
Definition
PDU.h:36
ola::acn::RootPDU
Definition
RootPDU.h:34
ola::acn::RootSender
Definition
RootSender.h:32
ola
The namespace containing all OLA symbols.
Definition
Credentials.cpp:44
Generated on Sat Aug 24 2024 09:00:45 for Open Lighting Architecture by
1.12.0