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
EventReceiver.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
34
#ifndef LSST_CTRL_EVENTS_EVENTRECEIVER_H
35
#define LSST_CTRL_EVENTS_EVENTRECEIVER_H
36
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/utils/Utils.h
"
45
#include "
lsst/daf/base/PropertySet.h
"
46
#include "
lsst/ctrl/events/Event.h
"
47
48
using
lsst::daf::base::PropertySet
;
49
50
using namespace
std;
51
52
namespace
lsst {
53
namespace
ctrl {
54
namespace
events {
59
class
EventReceiver
{
60
public
:
68
EventReceiver
(
const
std::string& hostName,
const
std::string& topicName,
int
hostPort = EventBroker::DEFAULTHOSTPORT);
69
78
EventReceiver
(
const
std::string& hostName,
const
std::string& topicName,
const
std::string& selector,
int
hostPort = EventBroker::DEFAULTHOSTPORT);
79
83
virtual
~
EventReceiver
();
84
89
Event
* receiveEvent();
90
96
Event
* receiveEvent(
long
timeout);
97
102
std::string getTopicName();
103
104
static
const
long
infiniteTimeout = -1;
105
106
private
:
107
void
init
(
const
std::string& hostName,
const
std::string& topicName,
const
std::string& selector,
int
hostPort);
108
109
// connection to the JMS broker
110
cms::Connection*
_connection
;
111
112
// JMS session
113
cms::Session*
_session
;
114
115
// JMS message destination
116
cms::Destination*
_destination
;
117
118
// Object that receives the messages
119
cms::MessageConsumer*
_consumer
;
120
121
// the topic for this receiver
122
std::string
_topic
;
123
124
// the selector for this receiver
125
std::string
_selector
;
126
127
};
128
129
130
}
131
}
132
}
133
134
135
#endif
/*end LSST_CTRL_EVENTS_EVENTRECEIVER_H*/
lsst::ctrl::events::EventReceiver
Receive events from the event bus.
Definition:
EventReceiver.h:59
lsst::ctrl::events::EventReceiver::_selector
std::string _selector
Definition:
EventReceiver.h:125
lsst::utils.tests.init
def init
Definition:
tests.py:46
lsst::ctrl::events::EventReceiver::_topic
std::string _topic
Definition:
EventReceiver.h:122
lsst::ctrl::events::EventReceiver::_connection
cms::Connection * _connection
Definition:
EventReceiver.h:110
PropertySet
lsst::daf::base::PropertySet PropertySet
Definition:
Wcs.cc:58
lsst::ctrl::events::EventReceiver::_destination
cms::Destination * _destination
Definition:
EventReceiver.h:116
Utils.h
Event.h
defines the Event class
lsst::ctrl::events::EventReceiver::_session
cms::Session * _session
Definition:
EventReceiver.h:113
lsst::ctrl::events::Event
Representation of an LSST Event.
Definition:
Event.h:62
lsst::ctrl::events::EventReceiver::_consumer
cms::MessageConsumer * _consumer
Definition:
EventReceiver.h:119
PropertySet.h
Interface for PropertySet class.
Generated on Wed Sep 16 2015 13:35:28 for LSSTApplications by
1.8.5