Diag-Client-Lib
Classes | Functions
diag::client::conversation Namespace Reference

Classes

class  DiagClientConversation
 Conversation class to establish connection with a Diagnostic Server. More...
 
class  Conversation
 Interface for diag client conversation. More...
 
class  DmConversationHandler
 Class to manage reception from transport protocol handler to dm connection handler. More...
 
class  DmConversation
 Class to establish connection with Diagnostic Server. More...
 
struct  DMConversationType
 Structure containing DM conversation type. More...
 
class  VehicleInfoMessageImpl
 
class  VdConversationHandler
 Class to manage reception from transport protocol handler to vd connection handler. More...
 
class  VdConversation
 Class to search for available diagnostic server over a network. More...
 
struct  VDConversationType
 Structure containing VD conversation type. More...
 

Functions

std::string ConvertToHexString (std::uint8_t char_start, std::uint8_t char_count, std::vector< std::uint8_t > &input_buffer)
 
std::string ConvertToAsciiString (std::uint8_t char_start, std::uint8_t char_count, std::vector< std::uint8_t > &input_buffer)
 
void SerializeEIDGIDFromString (std::string &input_string, std::vector< uint8_t > &output_buffer, std::uint8_t total_size, std::uint8_t substring_range)
 
void SerializeVINFromString (std::string &input_string, std::vector< uint8_t > &output_buffer, std::uint8_t total_size, std::uint8_t substring_range)
 

Function Documentation

◆ ConvertToAsciiString()

std::string diag::client::conversation::ConvertToAsciiString ( std::uint8_t  char_start,
std::uint8_t  char_count,
std::vector< std::uint8_t > &  input_buffer 
)

Definition at line 41 of file vd_conversation.cpp.

42  {
43  std::string ascii_string{};
44  std::uint8_t total_char_count{static_cast<uint8_t>(char_start + char_count)};
45 
46  for (std::uint8_t char_start_count = char_start; char_start_count < total_char_count; char_start_count++) {
47  std::stringstream vehicle_info_data_vin{};
48  vehicle_info_data_vin << input_buffer[char_start_count];
49  ascii_string.append(vehicle_info_data_vin.str());
50  }
51  return ascii_string;
52 }

Referenced by diag::client::conversation::VdConversation::DeserializeVehicleInfoResponse().

Here is the caller graph for this function:

◆ ConvertToHexString()

std::string diag::client::conversation::ConvertToHexString ( std::uint8_t  char_start,
std::uint8_t  char_count,
std::vector< std::uint8_t > &  input_buffer 
)

Definition at line 22 of file vd_conversation.cpp.

23  {
24  std::string hex_string{};
25  std::uint8_t total_char_count{static_cast<uint8_t>(char_start + char_count)};
26 
27  for (std::uint8_t char_start_count = char_start; char_start_count < total_char_count; char_start_count++) {
28  std::stringstream vehicle_info_data_eid{};
29  int payload_byte{input_buffer[char_start_count]};
30  if ((payload_byte <= 15)) {
31  // "0" appended in case of value upto 15/0xF
32  vehicle_info_data_eid << "0";
33  }
34  vehicle_info_data_eid << std::hex << payload_byte << ":";
35  hex_string.append(vehicle_info_data_eid.str());
36  }
37  hex_string.pop_back(); // remove last ":" appended before
38  return hex_string;
39 }

Referenced by diag::client::conversation::VdConversation::DeserializeVehicleInfoResponse().

Here is the caller graph for this function:

◆ SerializeEIDGIDFromString()

void diag::client::conversation::SerializeEIDGIDFromString ( std::string &  input_string,
std::vector< uint8_t > &  output_buffer,
std::uint8_t  total_size,
std::uint8_t  substring_range 
)

Definition at line 54 of file vd_conversation.cpp.

55  {
56 
57  for (auto char_count = 0U; char_count < total_size; char_count += substring_range) {
58  std::string input_string_new{input_string.substr(char_count, static_cast<std::uint8_t>(substring_range))};
59  std::stringstream input_string_stream{input_string_new};
60  int get_byte;
61  input_string_stream >> std::hex >> get_byte;
62  output_buffer.emplace_back(static_cast<std::uint8_t>(get_byte));
63  }
64 }

Referenced by diag::client::conversation::VdConversation::DeserializeVehicleInfoRequest().

Here is the caller graph for this function:

◆ SerializeVINFromString()

void diag::client::conversation::SerializeVINFromString ( std::string &  input_string,
std::vector< uint8_t > &  output_buffer,
std::uint8_t  total_size,
std::uint8_t  substring_range 
)

Definition at line 66 of file vd_conversation.cpp.

67  {
68 
69  for (auto char_count = 0U; char_count < total_size; char_count += substring_range) {
70  std::string input_string_new{input_string.substr(char_count, static_cast<std::uint8_t>(substring_range))};
71  std::stringstream input_string_stream{input_string_new};
72  int get_byte{input_string_stream.get()};
73  output_buffer.emplace_back(static_cast<std::uint8_t>(get_byte));
74  }
75 }

Referenced by diag::client::conversation::VdConversation::DeserializeVehicleInfoRequest().

Here is the caller graph for this function: