SeaBreeze
IPv4SocketDeviceLocator.h
Go to the documentation of this file.
1 /***************************************************/
30 #ifndef SEABREEZE_IPV4SOCKETDEVICELOCATOR_H
31 #define SEABREEZE_IPV4SOCKETDEVICELOCATOR_H
32 
35 #include <string>
36 
37 namespace seabreeze {
39  public:
40  IPv4SocketDeviceLocator(const IPv4NetworkProtocol &proto, std::string ip,
41  int portNumber);
42  virtual ~IPv4SocketDeviceLocator();
43 
44  std::string getIPv4Address();
45  int getPort();
46  IPv4NetworkProtocol getIPv4NetworkProtocol();
47 
48  /* Inherited from DeviceLocatorInterface */
49  virtual unsigned long getUniqueLocation() const;
50  virtual bool equals(DeviceLocatorInterface &that);
51  virtual std::string getDescription();
52  virtual BusFamily getBusFamily() const;
53  virtual DeviceLocatorInterface *clone() const;
54 
55  protected:
56  unsigned long computeLocationHash();
57 
58  IPv4NetworkProtocol protocol;
59  std::string ipAddr;
60  int port;
61  unsigned long locationHash;
62  };
63 }
64 
65 #endif /* SEABREEZE_IPV4SOCKETDEVICELOCATOR_H */
66 
Definition: DeviceLocatorInterface.h:47
virtual bool equals(DeviceLocatorInterface &that)
virtual std::string getDescription()
Definition: IPv4NetworkProtocol.h:37
Definition: BusFamily.h:38
virtual BusFamily getBusFamily() const
virtual unsigned long getUniqueLocation() const
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42
Definition: IPv4SocketDeviceLocator.h:38