Android-cuttlefish cvd tool
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GnssGrpcProxyServiceImpl Class Referencefinal
Inheritance diagram for GnssGrpcProxyServiceImpl:
Inheritance graph
[legend]
Collaboration diagram for GnssGrpcProxyServiceImpl:
Collaboration graph
[legend]

Public Member Functions

 GnssGrpcProxyServiceImpl (cuttlefish::SharedFD gnss_in, cuttlefish::SharedFD gnss_out, cuttlefish::SharedFD fixed_location_in, cuttlefish::SharedFD fixed_location_out)
 
Status SendGps (ServerContext *context, const SendGpsRequest *request, SendGpsReply *reply) override
 
std::string ConvertCoordinate (gnss_grpc_proxy::GpsCoordinates coordinate)
 
Status SendGpsVector (ServerContext *context, const SendGpsCoordinatesRequest *request, SendGpsCoordinatesReply *reply) override
 
void sendToSerial ()
 
void sendGnssRawToSerial ()
 
void StartServer ()
 
void StartReadFixedLocationFileThread ()
 
void StartReadGnssRawMeasurementFileThread ()
 
void ReadFixedLocationFromLocalFile ()
 
void ReadGnssRawMeasurement ()
 
 ~GnssGrpcProxyServiceImpl ()
 

Private Member Functions

void SendCommand (std::string command, cuttlefish::SharedFD source_out, int out_fd)
 
void ReadMeasurementLoop ()
 
void ReadFixedLocLoop ()
 
void WriteFixedLocationFromQueue ()
 
std::string getTimeNanosFromLine (const std::string &line)
 
bool isGnssRawMeasurement (const std::string &inputStr)
 

Private Attributes

cuttlefish::SharedFD gnss_in_
 
cuttlefish::SharedFD gnss_out_
 
cuttlefish::SharedFD fixed_location_in_
 
cuttlefish::SharedFD fixed_location_out_
 
std::thread measurement_read_thread_
 
std::thread fixed_location_read_thread_
 
std::thread fixed_location_file_read_thread_
 
std::thread fixed_location_write_thread_
 
std::thread measurement_file_read_thread_
 
std::string cached_fixed_location
 
std::mutex cached_fixed_location_mutex
 
std::string cached_gnss_raw
 
std::string previous_cached_gnss_raw
 
std::mutex cached_gnss_raw_mutex
 
std::queue< std::string > fixed_locations_queue_
 
std::mutex fixed_locations_queue_mutex_
 
int fixed_locations_delay_
 

Constructor & Destructor Documentation

◆ GnssGrpcProxyServiceImpl()

GnssGrpcProxyServiceImpl::GnssGrpcProxyServiceImpl ( cuttlefish::SharedFD  gnss_in,
cuttlefish::SharedFD  gnss_out,
cuttlefish::SharedFD  fixed_location_in,
cuttlefish::SharedFD  fixed_location_out 
)
inline

◆ ~GnssGrpcProxyServiceImpl()

GnssGrpcProxyServiceImpl::~GnssGrpcProxyServiceImpl ( )
inline

Member Function Documentation

◆ ConvertCoordinate()

std::string GnssGrpcProxyServiceImpl::ConvertCoordinate ( gnss_grpc_proxy::GpsCoordinates  coordinate)
inline

◆ getTimeNanosFromLine()

std::string GnssGrpcProxyServiceImpl::getTimeNanosFromLine ( const std::string &  line)
inlineprivate

◆ isGnssRawMeasurement()

bool GnssGrpcProxyServiceImpl::isGnssRawMeasurement ( const std::string &  inputStr)
inlineprivate

◆ ReadFixedLocationFromLocalFile()

void GnssGrpcProxyServiceImpl::ReadFixedLocationFromLocalFile ( )
inline

◆ ReadFixedLocLoop()

void GnssGrpcProxyServiceImpl::ReadFixedLocLoop ( )
inlineprivate

◆ ReadGnssRawMeasurement()

void GnssGrpcProxyServiceImpl::ReadGnssRawMeasurement ( )
inline

◆ ReadMeasurementLoop()

void GnssGrpcProxyServiceImpl::ReadMeasurementLoop ( )
inlineprivate

◆ SendCommand()

void GnssGrpcProxyServiceImpl::SendCommand ( std::string  command,
cuttlefish::SharedFD  source_out,
int  out_fd 
)
inlineprivate

◆ sendGnssRawToSerial()

void GnssGrpcProxyServiceImpl::sendGnssRawToSerial ( )
inline

◆ SendGps()

Status GnssGrpcProxyServiceImpl::SendGps ( ServerContext *  context,
const SendGpsRequest *  request,
SendGpsReply *  reply 
)
inlineoverride

◆ SendGpsVector()

Status GnssGrpcProxyServiceImpl::SendGpsVector ( ServerContext *  context,
const SendGpsCoordinatesRequest *  request,
SendGpsCoordinatesReply *  reply 
)
inlineoverride

◆ sendToSerial()

void GnssGrpcProxyServiceImpl::sendToSerial ( )
inline

◆ StartReadFixedLocationFileThread()

void GnssGrpcProxyServiceImpl::StartReadFixedLocationFileThread ( )
inline

◆ StartReadGnssRawMeasurementFileThread()

void GnssGrpcProxyServiceImpl::StartReadGnssRawMeasurementFileThread ( )
inline

◆ StartServer()

void GnssGrpcProxyServiceImpl::StartServer ( )
inline

◆ WriteFixedLocationFromQueue()

void GnssGrpcProxyServiceImpl::WriteFixedLocationFromQueue ( )
inlineprivate

Member Data Documentation

◆ cached_fixed_location

std::string GnssGrpcProxyServiceImpl::cached_fixed_location
private

◆ cached_fixed_location_mutex

std::mutex GnssGrpcProxyServiceImpl::cached_fixed_location_mutex
private

◆ cached_gnss_raw

std::string GnssGrpcProxyServiceImpl::cached_gnss_raw
private

◆ cached_gnss_raw_mutex

std::mutex GnssGrpcProxyServiceImpl::cached_gnss_raw_mutex
private

◆ fixed_location_file_read_thread_

std::thread GnssGrpcProxyServiceImpl::fixed_location_file_read_thread_
private

◆ fixed_location_in_

cuttlefish::SharedFD GnssGrpcProxyServiceImpl::fixed_location_in_
private

◆ fixed_location_out_

cuttlefish::SharedFD GnssGrpcProxyServiceImpl::fixed_location_out_
private

◆ fixed_location_read_thread_

std::thread GnssGrpcProxyServiceImpl::fixed_location_read_thread_
private

◆ fixed_location_write_thread_

std::thread GnssGrpcProxyServiceImpl::fixed_location_write_thread_
private

◆ fixed_locations_delay_

int GnssGrpcProxyServiceImpl::fixed_locations_delay_
private

◆ fixed_locations_queue_

std::queue<std::string> GnssGrpcProxyServiceImpl::fixed_locations_queue_
private

◆ fixed_locations_queue_mutex_

std::mutex GnssGrpcProxyServiceImpl::fixed_locations_queue_mutex_
private

◆ gnss_in_

cuttlefish::SharedFD GnssGrpcProxyServiceImpl::gnss_in_
private

◆ gnss_out_

cuttlefish::SharedFD GnssGrpcProxyServiceImpl::gnss_out_
private

◆ measurement_file_read_thread_

std::thread GnssGrpcProxyServiceImpl::measurement_file_read_thread_
private

◆ measurement_read_thread_

std::thread GnssGrpcProxyServiceImpl::measurement_read_thread_
private

◆ previous_cached_gnss_raw

std::string GnssGrpcProxyServiceImpl::previous_cached_gnss_raw
private

The documentation for this class was generated from the following file: