LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
ctrl_events
11.0.rc2+8
include
lsst
ctrl
events
EventTransmitter.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008-2015 AURA/LSST.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <https://www.lsstcorp.org/LegalNotices/>.
23
*/
24
33
#ifndef LSST_CTRL_EVENTS_EVENTTRANSMITTER_H
34
#define LSST_CTRL_EVENTS_EVENTTRANSMITTER_H
35
36
#include <activemq/commands/ActiveMQTopic.h>
37
#include <cms/Connection.h>
38
#include <cms/Session.h>
39
#include <cms/TextMessage.h>
40
41
#include <stdlib.h>
42
#include <iostream>
43
44
#include "
lsst/ctrl/events/Event.h
"
45
#include "
lsst/utils/Utils.h
"
46
#include "
lsst/daf/base/PropertySet.h
"
47
#include "
lsst/ctrl/events/EventBroker.h
"
48
49
using
lsst::daf::base::PropertySet
;
50
51
namespace
lsst {
52
namespace
ctrl {
53
namespace
events {
54
60
class
EventTransmitter
61
{
62
public
:
73
EventTransmitter
(
const
std::string& hostName,
const
std::string& topicName,
int
hostPort =
EventBroker::DEFAULTHOSTPORT
);
74
78
~EventTransmitter
();
79
84
std::string
getTopicName
();
85
90
void
publishEvent
(
Event
& event);
91
92
private
:
93
void
init
(
const
std::string& hostName,
const
std::string& topicName,
int
port);
94
95
// Connection to JMS broker
96
cms::Connection*
_connection
;
97
98
// JMS session
99
cms::Session*
_session
;
100
101
// Destination to send messages to
102
cms::Destination*
_destination
;
103
104
// Creates messages
105
cms::MessageProducer*
_producer
;
106
107
// internal info about how to contact JMS
108
std::string
_brokerUri
;
109
110
activemq::commands::ActiveMQTopic*
_topic
;
111
std::string
_topicName
;
112
113
114
};
115
}
116
}
117
}
118
119
120
#endif
/*end LSST_CTRL_EVENTS_EVENTTRANSMITTER_H*/
lsst::ctrl::events::EventTransmitter::~EventTransmitter
~EventTransmitter()
destructor
Definition:
EventTransmitter.cc:147
lsst::ctrl::events::EventTransmitter::getTopicName
std::string getTopicName()
get the topic name of this EventTransmitter
Definition:
EventTransmitter.cc:143
lsst::ctrl::events::EventTransmitter::_destination
cms::Destination * _destination
Definition:
EventTransmitter.h:102
PropertySet
lsst::daf::base::PropertySet PropertySet
Definition:
Wcs.cc:58
lsst::ctrl::events::EventTransmitter::_connection
cms::Connection * _connection
Definition:
EventTransmitter.h:96
lsst::ctrl::events::EventTransmitter
Transmit events to the event bus.
Definition:
EventTransmitter.h:60
Utils.h
Event.h
defines the Event class
lsst::ctrl::events::EventTransmitter::_producer
cms::MessageProducer * _producer
Definition:
EventTransmitter.h:105
lsst::ctrl::events::EventTransmitter::_topicName
std::string _topicName
Definition:
EventTransmitter.h:111
lsst::ctrl::events::EventBroker::DEFAULTHOSTPORT
static const int DEFAULTHOSTPORT
Definition:
EventBroker.h:47
lsst::ctrl::events::EventTransmitter::_brokerUri
std::string _brokerUri
Definition:
EventTransmitter.h:108
lsst::ctrl::events::EventTransmitter::publishEvent
void publishEvent(Event &event)
Publish an Event to this object's topic.
Definition:
EventTransmitter.cc:127
EventBroker.h
information about the Event Broker
lsst::ctrl::events::EventTransmitter::init
void init(const std::string &hostName, const std::string &topicName, int port)
Definition:
EventTransmitter.cc:73
lsst::ctrl::events::Event
Representation of an LSST Event.
Definition:
Event.h:62
lsst::ctrl::events::EventTransmitter::_topic
activemq::commands::ActiveMQTopic * _topic
Definition:
EventTransmitter.h:110
PropertySet.h
Interface for PropertySet class.
lsst::ctrl::events::EventTransmitter::_session
cms::Session * _session
Definition:
EventTransmitter.h:99
lsst::ctrl::events::EventTransmitter::EventTransmitter
EventTransmitter(const std::string &hostName, const std::string &topicName, int hostPort=EventBroker::DEFAULTHOSTPORT)
Transmits events to the specified host and topic.
Definition:
EventTransmitter.cc:64
Generated on Wed Sep 16 2015 13:35:28 for LSSTApplications by
1.8.5