camera_interface
CamInfoUtils.h
Go to the documentation of this file.
1 /*
2  * File: CamInfoUtils.h
3  * Author: cgaudig
4  *
5  * Created on February 24, 2010, 11:44 AM
6  */
7 
8 #include "CamTypes.h"
9 #include <iostream>
10 #include <vector>
11 #include <sstream>
12 #include <arpa/inet.h>
13 
14 #ifndef _CAMINFOUTILS_H
15 #define _CAMINFOUTILS_H
16 
17 namespace camera
18 {
19  inline std::string getCamInfo(const CamInfo &cam_info)
20  {
21  std::stringstream str;
22  struct in_addr ip_address, ip_subnet, ip_gateway;
23  ip_address.s_addr = cam_info.ip_settings.current_ip_address;
24  ip_subnet.s_addr = cam_info.ip_settings.current_ip_subnet;
25  ip_gateway.s_addr = cam_info.ip_settings.current_ip_gateway;
26 
27  std::string ip = inet_ntoa(ip_address);
28  std::string subnet = inet_ntoa(ip_subnet);
29  std::string gateway = inet_ntoa(ip_gateway);
30 
31  str << std::endl << "=== begin CamInfo ===" << std::endl
32  << "display_name: " << cam_info.display_name << std::endl
33  << "interface_id: " << cam_info.interface_id << std::endl
34  << "interface_type: " << enumInterfaceToStr(cam_info.interface_type) << std::endl
35  << "current_ip_address: " << ip << std::endl
36  << "current_ip_subnet: " << subnet << std::endl
37  << "current_ip_gateway: " << gateway << std::endl
38  << "part_number: " << cam_info.part_number << std::endl
39  << "part_version: " << cam_info.part_version << std::endl
40  << "permitted_access: " << cam_info.permitted_access << std::endl
41  << "reachable: " << cam_info.reachable << std::endl
42  << "serial_string: " << cam_info.serial_string << std::endl
43  << "unique_id: " << cam_info.unique_id << std::endl
44  << "=== end CamInfo ===" << std::endl << std::endl;
45  return str.str();
46  }
47 
48  inline void showCamInfo(const CamInfo &cam_info)
49  {
50  std::cout << getCamInfo(cam_info);
51  //cam_info.
52  }
53 
54  inline void showCamInfos(std::vector<CamInfo> &cam_infos)
55  {
56  int inum = cam_infos.size();
57  std::cout << "Found " << inum<< " cameras:\n";
58  for(int i=0;i<inum;i++)
59  showCamInfo(cam_infos[i]);
60  }
61 }
62 #endif /* _CAMINFOUTILS_H */
63 
unsigned long current_ip_address
Definition: CamTypes.h:273
void showCamInfos(std::vector< CamInfo > &cam_infos)
Definition: CamInfoUtils.h:54
unsigned long current_ip_gateway
Definition: CamTypes.h:275
std::string getCamInfo(const CamInfo &cam_info)
Definition: CamInfoUtils.h:19
unsigned long permitted_access
Definition: CamTypes.h:368
unsigned long part_number
Definition: CamTypes.h:366
unsigned long unique_id
Definition: CamTypes.h:364
unsigned long current_ip_subnet
Definition: CamTypes.h:274
Definition: CamTypes.h:362
unsigned long interface_id
Definition: CamTypes.h:369
std::string display_name
Definition: CamTypes.h:374
bool reachable
Definition: CamTypes.h:375
InterfaceType interface_type
Definition: CamTypes.h:372
IPSettings ip_settings
Definition: CamTypes.h:377
void showCamInfo(const CamInfo &cam_info)
Definition: CamInfoUtils.h:48
unsigned long part_version
Definition: CamTypes.h:367
std::string serial_string
Definition: CamTypes.h:365