LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
LocationId.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_LOCATIONID_H
35 #define LSST_CTRL_EVENTS_LOCATIONID_H
36 
37 #include <stdlib.h>
38 
39 #include "boost/shared_ptr.hpp"
40 
41 namespace lsst {
42 namespace ctrl {
43 namespace events {
44 
49 class LocationId {
50 public:
51 
52  typedef boost::shared_ptr<LocationId> Ptr;
53  typedef boost::shared_ptr<LocationId const> ConstPtr;
54 
62  LocationId();
63 
68  LocationId(LocationId const& id);
69 
74  LocationId(std::string const& hostname, int pid, int localID);
75 
76 
81  std::string getHostName() const;
82 
87  int getProcessID() const;
88 
93  int getLocalID() const;
94 
95 protected:
96  static int _localCounter;
97  std::string _hostname;
98  int _pid;
99  int _localID;
100 
101 };
102 }
103 }
104 }
105 
106 #endif /*end LSST_CTRL_EVENTS_LOCATIONID_H*/
boost::shared_ptr< LocationId const > ConstPtr
Definition: LocationId.h:53
boost::shared_ptr< LocationId > Ptr
Definition: LocationId.h:52
LocationId()
LocationId object. This object represents the originating process process of an event. This consists of the host name, the process id of the process that created this LocationId and a local id which is unique for this process. When created, this represents a unique location ID.
Definition: LocationId.cc:43
Represent process that created an event.
Definition: LocationId.h:49
std::string getHostName() const
Retrieve the host name.
Definition: LocationId.cc:64
std::string _hostname
used for localID &amp; is unique for instances of LocationId in a process
Definition: LocationId.h:97
int getProcessID() const
Retrieve the process id.
Definition: LocationId.cc:68
int getLocalID() const
Retrieve the local id.
Definition: LocationId.cc:72