diff --git a/README.rst b/README.rst index 6765aaa..cad45a4 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ Huntsman Telescope dome control -------------------------------- +=============================== .. image:: http://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat :target: http://www.astropy.org @@ -7,6 +7,92 @@ Huntsman Telescope dome control Code to run the Huntsman Telescope dome control hardware +Overview +-------- + +The Huntsman Telescope dome control software has two components, +one written in c++ the other in python. + +The C++ component is a X2Dome driver that interfaces with TheSkyX +and passes commands through to the python component. This is done +using the `gRPC `_ framework, allowing the c++ +component to pass infomation to the python component. + +The python component is implemented on a raspberry pi that controls +the dome rotation motor. It controls the activation of the motor +and tracks the dome position using an encoder. It returns infomation +(such as dome position) to the c++ component using gRPC as well. + +The c++ code is built around Software Bisque's X2 standard. For more +infomation on this `see here `. + +Requirements +--------------- + +``grpc python`` See instructions `here `_. +``grpc c++`` See instructions `here `_. + +Getting Started +--------------- + +The code for the Huntsman dome driver is contained in the +``domehunter/protos/src`` directory. This directory contains both +human written files and files automatically generated by gRPC +tools. The human written files are, + +* ``main.cpp`` - establishes main library to X2 driver (mostly copy/paste from example) +* ``main.h`` - header for main.cpp +* ``x2dome.cpp`` - the library code that serves the RPC from TSX to python server +* ``x2dome.h`` - header for x2dome.cpp +* ``hx2dome.proto`` - language agnostic RPC definitions used by everthing +* ``hx2dome.proto_server.py`` - python server that receives RPC from TSX + +The remaining cpp and python files are automatically produced +by gRPC and shouldn't need to be looked at. If for some reason +you want to generate these files yourself, see the +*gRPC automatically generated files* section below. + +The files for compilation and installation are found in the +``domehunter/protos/`` directory. The relevant files are, + + +* ``domelistHuntsmanDome.txt`` +* ``TheSkyX_plugin_install.sh`` +* ``Makefile`` + +The first two are files are used to install the compiled c++ +driver. You should be able to simply run the shell script once +the driver is compiled and located in the ``domehunter/protos/`` +directory, with filename ``libHuntsmanDome.so``. + +| + +In order to compile the driver simply run the makefile recipe. + +| + +Once the driver is installed in TheSkyX, it can be selected from +the dome selection menu. Before issuing any commands, start the +``domehunter/protos/src/hx2dome.proto_server.py`` in a new terminal. +When you issue a command through TheSkyX, the c++ driver will send +a remote procedure call through to the gRPC python server. Currently +the server will just return a dummy response to the c++ driver, +which will be passed to TheSkyX. In the future the gRPC python server +will be used to issue commands to the dome hardware. + +gRPC automatically generated files +---------------------------------- + +In the ``domehunter/protos/`` directory there are a number of shell +scripts. These can be used to generate the gRPC files within the ``src/`` +directory. These scripts contain path variables that may need to be +adjusted to your local machine. You shouldn't need to worry about +this as the generated files are committed to the repositry and +shouldn't need to be generated. + + + + License ------- @@ -18,34 +104,6 @@ which is licensed under the BSD 3-clause licence. See the licenses folder for more information. -Contributing ------------- - -We love contributions! huntsman-dome is open source, -built on open source, and we'd love to have you hang out in our community. - -**Imposter syndrome disclaimer**: We want your help. No, really. - -There may be a little voice inside your head that is telling you that you're not -ready to be an open source contributor; that your skills aren't nearly good -enough to contribute. What could you possibly offer a project like this one? -We assure you - the little voice in your head is wrong. If you can write code at -all, you can contribute code to open source. Contributing to open source -projects is a fantastic way to advance one's coding skills. Writing perfect code -isn't the measure of a good developer (that would disqualify all of us!); it's -trying to create something, making mistakes, and learning from those -mistakes. That's how we all improve, and we are happy to help others learn. -Being an open source contributor doesn't just mean writing code, either. You can -help out by writing documentation, tests, or even giving feedback about the -project (and yes - that includes giving feedback about the contribution -process). Some of these contributions may be the most valuable to the project as -a whole, because you're coming to the project with fresh eyes, so you can see -the errors and assumptions that seasoned contributors have glossed over. -Note: This disclaimer was originally written by -`Adrienne Lowe `_ for a -`PyCon talk `_, and was adapted by -huntsman-dome based on its use in the README file for the -`MetPy project `_. diff --git a/domehunter/protos/Makefile b/domehunter/protos/Makefile new file mode 100644 index 0000000..9ef03f2 --- /dev/null +++ b/domehunter/protos/Makefile @@ -0,0 +1,36 @@ +# Makefile for libHuntsmanDome + +CXX = g++ +CFLAGS = -fPIC -Wall -Wextra -O2 -g -DSB_LINUX_BUILD -I. -I./src/licensedinterfaces/\ + -L/usr/local/lib -lprotobuf -pthread -lgrpc++ -pthread -I/usr/local/include + +CPPFLAGS = -fPIC -Wall -Wextra -O2 -g -DSB_LINUX_BUILD -I. -I./src/licensedinterfaces/ -I/usr/local/include\ + -L/usr/local/lib -lprotobuf -pthread -lgrpc++ -pthread + +CXXFLAGS += -std=c++11 + +LDFLAGS = -shared -lstdc++ -L/usr/local/lib -lprotobuf -pthread -lgrpc++\ + -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed -ldl + + +RM = rm -f +STRIP = strip +TARGET_LIB = libHuntsmanDome.so + +SRCS = src/main.cpp src/x2dome.cpp src/hx2dome.grpc.pb.cpp src/hx2dome.pb.cpp +OBJS = $(SRCS:.cpp=.o) + +.PHONY: all +all: ${TARGET_LIB} + +$(TARGET_LIB): $(OBJS) + $(CXX) $^ ${LDFLAGS} -o $@ + $(STRIP) $@ >/dev/null 2>&1 || true + +$(SRCS:.cpp=.d):%.d:%.cpp + $(CXX) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -MM $< >$@ + + +.PHONY: clean +clean: + ${RM} ${TARGET_LIB} ${OBJS} diff --git a/domehunter/protos/TheSkyX_plugin_install.sh b/domehunter/protos/TheSkyX_plugin_install.sh new file mode 100755 index 0000000..d9ee590 --- /dev/null +++ b/domehunter/protos/TheSkyX_plugin_install.sh @@ -0,0 +1,43 @@ +#!/bin/bash + + +TheSkyX_Install=`/usr/bin/find ~/Library/Application\ Support/Software\ Bisque/ -name TheSkyXInstallPath.txt` +echo "TheSkyX_Install = $TheSkyX_Install" + +if [ ! -f "$TheSkyX_Install" ]; then + echo TheSkyXInstallPath.txt not found + TheSkyX_Path=`/usr/bin/find ~/ -maxdepth 3 -name TheSkyX` + if [ -d "$TheSkyX_Path" ]; then + TheSkyX_Path="${TheSkyX_Path}/Contents" + else + echo TheSkyX application was not found. + exit 1 + fi +else + TheSkyX_Path=$(<"$TheSkyX_Install") +fi + +echo "Installing to $TheSkyX_Path" + + +if [ ! -d "$TheSkyX_Path" ]; then + echo TheSkyX Install dir not exist + exit 1 +fi + +if [ -d "$TheSkyX_Path/Resources/Common/PlugIns64" ]; then + PLUGINS_DIR="PlugIns64" +else + PLUGINS_DIR="PlugIns" +fi + +cp "./domelist HuntsmanDome.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" +cp "./libHuntsmanDome.so" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" + +app_owner=`/usr/bin/stat -c "%u" "$TheSkyX_Path" | xargs id -n -u` +if [ ! -z "$app_owner" ]; then + chown $app_owner "$TheSkyX_Path/Resources/Common/Miscellaneous Files/domelist HuntsmanDome.txt" + chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libHuntsmanDome.so" +fi +chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libHuntsmanDome.so" + diff --git a/domehunter/protos/domelist HuntsmanDome.txt b/domehunter/protos/domelist HuntsmanDome.txt new file mode 100644 index 0000000..9cdca48 --- /dev/null +++ b/domehunter/protos/domelist HuntsmanDome.txt @@ -0,0 +1,4 @@ +//See hardwarelist.txt for details on this file format. +//Version|Manufacturer|Model|Comment|MapsTo|PlugInDllName|X2Developer|Windows|Mac|Linux| +1|Huntsman Telescope|Huntsman Telescope Dome Controller v1| | |libHuntsmanDome||0|0|1| + diff --git a/domehunter/protos/generate_grpc_cpp_code.sh b/domehunter/protos/generate_grpc_cpp_code.sh new file mode 100755 index 0000000..bf0a3b7 --- /dev/null +++ b/domehunter/protos/generate_grpc_cpp_code.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +if [ "$1" == "clean" ]; then + rm libhuntsmandome* + rm src/*.grpc.pb.* + rm src/*.pb.* + rm *.o + rm .qmake.stash +else + HDOME_PATH="$HOME/Documents/REPOS" + PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/src/" + PROTO_PATH1="/usr/local/include/google/protobuf/" + PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/src/hx2dome.proto" + GRPC_CPP_PLUGIN_PATH="$(which grpc_cpp_plugin)" + + echo -e "Generating GRPC C++ code\n" + + echo -e "protoc -I $PROTOS_PATH --cpp_out=. src/hx2dome.proto\n" + protoc -I "$PROTOS_PATH" --cpp_out=. hx2dome.proto + + echo -e "protoc -I $PROTOS_PATH --grpc_out=. --proto_path=$PROTO_PATH1 $PROTO_PATH2 --plugin=protoc-gen-grpc=$GRPC_CPP_PLUGIN_PATH\n" + protoc -I "$PROTOS_PATH" --grpc_out=. --proto_path="$PROTO_PATH1" "$PROTO_PATH2" --plugin=protoc-gen-grpc="$GRPC_CPP_PLUGIN_PATH" + + echo -e "Moving generated GRPC C++ code to src/\n" + mv hx2dome.grpc.pb.cc src/hx2dome.grpc.pb.cpp + mv hx2dome.pb.cc src/hx2dome.pb.cpp + mv *.pb.h src/ + + #echo -e "Generating Makefile from project file.\n" + #qmake + + #echo -e "Running Generated Makefile.\n" + #make + + #echo -e "Cleaning out object files.\n" + #rm *.o + + echo -e "Done.\n" +fi diff --git a/domehunter/protos/generate_grpc_python_code.sh b/domehunter/protos/generate_grpc_python_code.sh new file mode 100755 index 0000000..39ed09e --- /dev/null +++ b/domehunter/protos/generate_grpc_python_code.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ "$1" == "clean" ]; then + rm src/*pb2_grpc.py + rm src/*pb2.py +else + HDOME_PATH="$HOME/Documents/REPOS" + PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/src/" + PROTO_PATH1="/usr/local/include/google/protobuf/" + PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/src/hx2dome.proto" + + echo -e "\nGenerating GRPC Python code\n" + + echo -e "python -m grpc_tools.protoc -I=$PROTOS_PATH --python_out=. --grpc_python_out=. --proto_path=$PROTO_PATH1 $PROTO_PATH2\n" + + python -m grpc_tools.protoc -I=$PROTOS_PATH --python_out=. --grpc_python_out=. --proto_path=$PROTO_PATH1 $PROTO_PATH2 + + echo -e "Moving generated GRPC Python code to src/\n" + mv *pb2* src/ + + echo -e "Done.\n" +fi diff --git a/domehunter/protos/src/hx2dome.grpc.pb.cpp b/domehunter/protos/src/hx2dome.grpc.pb.cpp new file mode 100644 index 0000000..4f23343 --- /dev/null +++ b/domehunter/protos/src/hx2dome.grpc.pb.cpp @@ -0,0 +1,721 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: hx2dome.proto + +#include "hx2dome.pb.h" +#include "hx2dome.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace hx2dome { + +static const char* HX2Dome_method_names[] = { + "/hx2dome.HX2Dome/dapiGetAzEl", + "/hx2dome.HX2Dome/dapiGotoAzEl", + "/hx2dome.HX2Dome/dapiAbort", + "/hx2dome.HX2Dome/dapiOpen", + "/hx2dome.HX2Dome/dapiClose", + "/hx2dome.HX2Dome/dapiPark", + "/hx2dome.HX2Dome/dapiUnpark", + "/hx2dome.HX2Dome/dapiFindHome", + "/hx2dome.HX2Dome/dapiGotoComplete", + "/hx2dome.HX2Dome/dapiOpenComplete", + "/hx2dome.HX2Dome/dapiCloseComplete", + "/hx2dome.HX2Dome/dapiParkComplete", + "/hx2dome.HX2Dome/dapiUnparkComplete", + "/hx2dome.HX2Dome/dapiFindHomeComplete", + "/hx2dome.HX2Dome/dapiSync", + "/hx2dome.HX2Dome/deviceInfoNameShort", + "/hx2dome.HX2Dome/deviceInfoNameLong", + "/hx2dome.HX2Dome/deviceInfoDetailedDescription", + "/hx2dome.HX2Dome/deviceInfoFirmwareVersion", + "/hx2dome.HX2Dome/deviceInfoModel", +}; + +std::unique_ptr< HX2Dome::Stub> HX2Dome::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< HX2Dome::Stub> stub(new HX2Dome::Stub(channel)); + return stub; +} + +HX2Dome::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel) + : channel_(channel), rpcmethod_dapiGetAzEl_(HX2Dome_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiGotoAzEl_(HX2Dome_method_names[1], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiAbort_(HX2Dome_method_names[2], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiOpen_(HX2Dome_method_names[3], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiClose_(HX2Dome_method_names[4], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiPark_(HX2Dome_method_names[5], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiUnpark_(HX2Dome_method_names[6], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiFindHome_(HX2Dome_method_names[7], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiGotoComplete_(HX2Dome_method_names[8], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiOpenComplete_(HX2Dome_method_names[9], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiCloseComplete_(HX2Dome_method_names[10], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiParkComplete_(HX2Dome_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiUnparkComplete_(HX2Dome_method_names[12], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiFindHomeComplete_(HX2Dome_method_names[13], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_dapiSync_(HX2Dome_method_names[14], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_deviceInfoNameShort_(HX2Dome_method_names[15], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_deviceInfoNameLong_(HX2Dome_method_names[16], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_deviceInfoDetailedDescription_(HX2Dome_method_names[17], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_deviceInfoFirmwareVersion_(HX2Dome_method_names[18], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_deviceInfoModel_(HX2Dome_method_names[19], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status HX2Dome::Stub::dapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::AzEl* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiGetAzEl_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiGetAzEl_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiGetAzEl(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::AzEl* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiGetAzEl_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* HX2Dome::Stub::AsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::AzEl>::Create(channel_.get(), cq, rpcmethod_dapiGetAzEl_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* HX2Dome::Stub::PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::AzEl>::Create(channel_.get(), cq, rpcmethod_dapiGetAzEl_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiGotoAzEl_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiGotoAzEl_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiGotoAzEl(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiGotoAzEl_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiGotoAzElRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiGotoAzEl_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiGotoAzElRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiGotoAzEl_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiAbort_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiAbort_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiAbort(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiAbort_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiAbortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiAbort_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiAbort_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiOpen_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiOpen_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiOpen(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiOpen_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiOpen_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiOpen_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiClose_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiClose_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiClose(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiClose_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiClose_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiClose_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiPark_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiPark_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiPark(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiPark_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiParkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiPark_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiPark_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiUnpark_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiUnpark_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiUnpark(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiUnpark_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiUnpark_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiUnpark_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiFindHome_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiFindHome_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiFindHome(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiFindHome_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiFindHome_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiFindHome_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiGotoComplete_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiGotoComplete_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiGotoComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiGotoComplete_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiGotoComplete_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiGotoComplete_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiOpenComplete_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiOpenComplete_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiOpenComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiOpenComplete_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiOpenComplete_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiOpenComplete_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiCloseComplete_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiCloseComplete_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiCloseComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiCloseComplete_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiCloseComplete_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiCloseComplete_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiParkComplete_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiParkComplete_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiParkComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiParkComplete_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiParkComplete_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiParkComplete_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiUnparkComplete_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiUnparkComplete_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiUnparkComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiUnparkComplete_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiUnparkComplete_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiUnparkComplete_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiFindHomeComplete_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiFindHomeComplete_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiFindHomeComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiFindHomeComplete_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiFindHomeComplete_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* HX2Dome::Stub::PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::IsComplete>::Create(channel_.get(), cq, rpcmethod_dapiFindHomeComplete_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::dapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::hx2dome::ReturnCode* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_dapiSync_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::dapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiSync_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::dapiSync(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_dapiSync_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::AsyncdapiSyncRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiSync_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* HX2Dome::Stub::PrepareAsyncdapiSyncRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::ReturnCode>::Create(channel_.get(), cq, rpcmethod_dapiSync_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::deviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_deviceInfoNameShort_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::deviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoNameShort_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::deviceInfoNameShort(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoNameShort_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::AsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoNameShort_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoNameShort_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::deviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_deviceInfoNameLong_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::deviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoNameLong_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::deviceInfoNameLong(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoNameLong_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoNameLong_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoNameLong_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_deviceInfoDetailedDescription_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoDetailedDescription_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoDetailedDescription_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoDetailedDescription_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoDetailedDescription_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_deviceInfoFirmwareVersion_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoFirmwareVersion_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoFirmwareVersion_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoFirmwareVersion_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoFirmwareVersion_, context, request, false); +} + +::grpc::Status HX2Dome::Stub::deviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_deviceInfoModel_, context, request, response); +} + +void HX2Dome::Stub::experimental_async::deviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoModel_, context, request, response, std::move(f)); +} + +void HX2Dome::Stub::experimental_async::deviceInfoModel(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function f) { + return ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_deviceInfoModel_, context, request, response, std::move(f)); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoModel_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* HX2Dome::Stub::PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::hx2dome::BasicString>::Create(channel_.get(), cq, rpcmethod_deviceInfoModel_, context, request, false); +} + +HX2Dome::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::AzEl>( + std::mem_fn(&HX2Dome::Service::dapiGetAzEl), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[1], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::AzEl, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiGotoAzEl), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[2], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiAbort), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[3], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiOpen), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[4], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiClose), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[5], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiPark), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[6], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiUnpark), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[7], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiFindHome), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[8], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::IsComplete>( + std::mem_fn(&HX2Dome::Service::dapiGotoComplete), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[9], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::IsComplete>( + std::mem_fn(&HX2Dome::Service::dapiOpenComplete), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[10], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::IsComplete>( + std::mem_fn(&HX2Dome::Service::dapiCloseComplete), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[11], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::IsComplete>( + std::mem_fn(&HX2Dome::Service::dapiParkComplete), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[12], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::IsComplete>( + std::mem_fn(&HX2Dome::Service::dapiUnparkComplete), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[13], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::IsComplete>( + std::mem_fn(&HX2Dome::Service::dapiFindHomeComplete), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[14], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::AzEl, ::hx2dome::ReturnCode>( + std::mem_fn(&HX2Dome::Service::dapiSync), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[15], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::BasicString>( + std::mem_fn(&HX2Dome::Service::deviceInfoNameShort), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[16], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::BasicString>( + std::mem_fn(&HX2Dome::Service::deviceInfoNameLong), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[17], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::BasicString>( + std::mem_fn(&HX2Dome::Service::deviceInfoDetailedDescription), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[18], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::BasicString>( + std::mem_fn(&HX2Dome::Service::deviceInfoFirmwareVersion), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + HX2Dome_method_names[19], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< HX2Dome::Service, ::hx2dome::Empty, ::hx2dome::BasicString>( + std::mem_fn(&HX2Dome::Service::deviceInfoModel), this))); +} + +HX2Dome::Service::~Service() { +} + +::grpc::Status HX2Dome::Service::dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status HX2Dome::Service::deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace hx2dome + diff --git a/domehunter/protos/src/hx2dome.grpc.pb.h b/domehunter/protos/src/hx2dome.grpc.pb.h new file mode 100644 index 0000000..02973d5 --- /dev/null +++ b/domehunter/protos/src/hx2dome.grpc.pb.h @@ -0,0 +1,3111 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: hx2dome.proto +// Original file comments: +// Protocol buffer interface for the TheSkyX X2 Dome interface, +// http://www.bisque.com/x2standard/class_x2_dome.html +#ifndef GRPC_hx2dome_2eproto__INCLUDED +#define GRPC_hx2dome_2eproto__INCLUDED + +#include "hx2dome.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace grpc { +class CompletionQueue; +class Channel; +class ServerCompletionQueue; +class ServerContext; +} // namespace grpc + +namespace hx2dome { + +class HX2Dome final { + public: + static constexpr char const* service_full_name() { + return "hx2dome.HX2Dome"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + // Dome API + virtual ::grpc::Status dapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::AzEl* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>>(AsyncdapiGetAzElRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>> PrepareAsyncdapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>>(PrepareAsyncdapiGetAzElRaw(context, request, cq)); + } + virtual ::grpc::Status dapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiGotoAzElRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiGotoAzElRaw(context, request, cq)); + } + virtual ::grpc::Status dapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiAbortRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiAbortRaw(context, request, cq)); + } + virtual ::grpc::Status dapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiOpenRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiOpenRaw(context, request, cq)); + } + virtual ::grpc::Status dapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiCloseRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiCloseRaw(context, request, cq)); + } + virtual ::grpc::Status dapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiParkRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiParkRaw(context, request, cq)); + } + virtual ::grpc::Status dapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiUnparkRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiUnparkRaw(context, request, cq)); + } + virtual ::grpc::Status dapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiFindHomeRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiFindHomeRaw(context, request, cq)); + } + virtual ::grpc::Status dapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(AsyncdapiGotoCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> PrepareAsyncdapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(PrepareAsyncdapiGotoCompleteRaw(context, request, cq)); + } + virtual ::grpc::Status dapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(AsyncdapiOpenCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> PrepareAsyncdapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(PrepareAsyncdapiOpenCompleteRaw(context, request, cq)); + } + virtual ::grpc::Status dapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(AsyncdapiCloseCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> PrepareAsyncdapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(PrepareAsyncdapiCloseCompleteRaw(context, request, cq)); + } + virtual ::grpc::Status dapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(AsyncdapiParkCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> PrepareAsyncdapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(PrepareAsyncdapiParkCompleteRaw(context, request, cq)); + } + virtual ::grpc::Status dapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(AsyncdapiUnparkCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> PrepareAsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(PrepareAsyncdapiUnparkCompleteRaw(context, request, cq)); + } + virtual ::grpc::Status dapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(AsyncdapiFindHomeCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> PrepareAsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>>(PrepareAsyncdapiFindHomeCompleteRaw(context, request, cq)); + } + virtual ::grpc::Status dapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(AsyncdapiSyncRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> PrepareAsyncdapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>>(PrepareAsyncdapiSyncRaw(context, request, cq)); + } + // Hardware Info Interface + virtual ::grpc::Status deviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(AsyncdeviceInfoNameShortRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameShortRaw(context, request, cq)); + } + virtual ::grpc::Status deviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(AsyncdeviceInfoNameLongRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameLongRaw(context, request, cq)); + } + virtual ::grpc::Status deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(AsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); + } + virtual ::grpc::Status deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(AsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); + } + virtual ::grpc::Status deviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(AsyncdeviceInfoModelRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoModelRaw(context, request, cq)); + } + class experimental_async_interface { + public: + virtual ~experimental_async_interface() {} + // Dome API + virtual void dapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response, std::function) = 0; + virtual void dapiGetAzEl(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::AzEl* response, std::function) = 0; + virtual void dapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiGotoAzEl(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiAbort(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiOpen(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiClose(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiPark(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiUnpark(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiFindHome(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiGotoComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiOpenComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiCloseComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiParkComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiUnparkComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiFindHomeComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) = 0; + virtual void dapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, std::function) = 0; + virtual void dapiSync(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) = 0; + // Hardware Info Interface + virtual void deviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoNameShort(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoNameLong(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) = 0; + virtual void deviceInfoModel(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) = 0; + }; + virtual class experimental_async_interface* experimental_async() { return nullptr; } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>* AsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiGotoAzElRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiGotoAzElRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiAbortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiSyncRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiSyncRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel); + ::grpc::Status dapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::AzEl* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>>(AsyncdapiGetAzElRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>> PrepareAsyncdapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>>(PrepareAsyncdapiGetAzElRaw(context, request, cq)); + } + ::grpc::Status dapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiGotoAzElRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiGotoAzElRaw(context, request, cq)); + } + ::grpc::Status dapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiAbortRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiAbortRaw(context, request, cq)); + } + ::grpc::Status dapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiOpenRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiOpenRaw(context, request, cq)); + } + ::grpc::Status dapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiCloseRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiCloseRaw(context, request, cq)); + } + ::grpc::Status dapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiParkRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiParkRaw(context, request, cq)); + } + ::grpc::Status dapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiUnparkRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiUnparkRaw(context, request, cq)); + } + ::grpc::Status dapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiFindHomeRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiFindHomeRaw(context, request, cq)); + } + ::grpc::Status dapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(AsyncdapiGotoCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> PrepareAsyncdapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiGotoCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(AsyncdapiOpenCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> PrepareAsyncdapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiOpenCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(AsyncdapiCloseCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> PrepareAsyncdapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiCloseCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(AsyncdapiParkCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> PrepareAsyncdapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiParkCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(AsyncdapiUnparkCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> PrepareAsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiUnparkCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(AsyncdapiFindHomeCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> PrepareAsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiFindHomeCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(AsyncdapiSyncRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> PrepareAsyncdapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiSyncRaw(context, request, cq)); + } + ::grpc::Status deviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(AsyncdeviceInfoNameShortRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameShortRaw(context, request, cq)); + } + ::grpc::Status deviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(AsyncdeviceInfoNameLongRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameLongRaw(context, request, cq)); + } + ::grpc::Status deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(AsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); + } + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(AsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); + } + ::grpc::Status deviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(AsyncdeviceInfoModelRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> PrepareAsyncdeviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoModelRaw(context, request, cq)); + } + class experimental_async final : + public StubInterface::experimental_async_interface { + public: + void dapiGetAzEl(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response, std::function) override; + void dapiGetAzEl(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::AzEl* response, std::function) override; + void dapiGotoAzEl(::grpc::ClientContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiGotoAzEl(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiAbort(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiAbort(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiOpen(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiOpen(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiClose(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiClose(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiPark(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiPark(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiUnpark(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiUnpark(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiFindHome(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiFindHome(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiGotoComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiGotoComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiOpenComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiOpenComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiCloseComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiCloseComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiParkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiParkComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiUnparkComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiUnparkComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiFindHomeComplete(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiFindHomeComplete(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::IsComplete* response, std::function) override; + void dapiSync(::grpc::ClientContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, std::function) override; + void dapiSync(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::ReturnCode* response, std::function) override; + void deviceInfoNameShort(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoNameShort(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoNameLong(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoNameLong(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoModel(::grpc::ClientContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, std::function) override; + void deviceInfoModel(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::hx2dome::BasicString* response, std::function) override; + private: + friend class Stub; + explicit experimental_async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class experimental_async_interface* experimental_async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class experimental_async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* AsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiGotoAzElRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiGotoAzElRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiAbortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiSyncRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiSyncRaw(::grpc::ClientContext* context, const ::hx2dome::AzEl& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::hx2dome::Empty& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_dapiGetAzEl_; + const ::grpc::internal::RpcMethod rpcmethod_dapiGotoAzEl_; + const ::grpc::internal::RpcMethod rpcmethod_dapiAbort_; + const ::grpc::internal::RpcMethod rpcmethod_dapiOpen_; + const ::grpc::internal::RpcMethod rpcmethod_dapiClose_; + const ::grpc::internal::RpcMethod rpcmethod_dapiPark_; + const ::grpc::internal::RpcMethod rpcmethod_dapiUnpark_; + const ::grpc::internal::RpcMethod rpcmethod_dapiFindHome_; + const ::grpc::internal::RpcMethod rpcmethod_dapiGotoComplete_; + const ::grpc::internal::RpcMethod rpcmethod_dapiOpenComplete_; + const ::grpc::internal::RpcMethod rpcmethod_dapiCloseComplete_; + const ::grpc::internal::RpcMethod rpcmethod_dapiParkComplete_; + const ::grpc::internal::RpcMethod rpcmethod_dapiUnparkComplete_; + const ::grpc::internal::RpcMethod rpcmethod_dapiFindHomeComplete_; + const ::grpc::internal::RpcMethod rpcmethod_dapiSync_; + const ::grpc::internal::RpcMethod rpcmethod_deviceInfoNameShort_; + const ::grpc::internal::RpcMethod rpcmethod_deviceInfoNameLong_; + const ::grpc::internal::RpcMethod rpcmethod_deviceInfoDetailedDescription_; + const ::grpc::internal::RpcMethod rpcmethod_deviceInfoFirmwareVersion_; + const ::grpc::internal::RpcMethod rpcmethod_deviceInfoModel_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + // Dome API + virtual ::grpc::Status dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response); + virtual ::grpc::Status dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response); + // Hardware Info Interface + virtual ::grpc::Status deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response); + }; + template + class WithAsyncMethod_dapiGetAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiGetAzEl() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_dapiGetAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGetAzEl(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::AzEl>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiGotoAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiGotoAzEl() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_dapiGotoAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGotoAzEl(::grpc::ServerContext* context, ::hx2dome::AzEl* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiAbort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiAbort() { + ::grpc::Service::MarkMethodAsync(2); + } + ~WithAsyncMethod_dapiAbort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiAbort(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiOpen : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiOpen() { + ::grpc::Service::MarkMethodAsync(3); + } + ~WithAsyncMethod_dapiOpen() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpen(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiClose : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiClose() { + ::grpc::Service::MarkMethodAsync(4); + } + ~WithAsyncMethod_dapiClose() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiClose(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiPark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiPark() { + ::grpc::Service::MarkMethodAsync(5); + } + ~WithAsyncMethod_dapiPark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiPark(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiUnpark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiUnpark() { + ::grpc::Service::MarkMethodAsync(6); + } + ~WithAsyncMethod_dapiUnpark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnpark(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiFindHome : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiFindHome() { + ::grpc::Service::MarkMethodAsync(7); + } + ~WithAsyncMethod_dapiFindHome() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHome(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiGotoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiGotoComplete() { + ::grpc::Service::MarkMethodAsync(8); + } + ~WithAsyncMethod_dapiGotoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGotoComplete(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::IsComplete>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiOpenComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiOpenComplete() { + ::grpc::Service::MarkMethodAsync(9); + } + ~WithAsyncMethod_dapiOpenComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpenComplete(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::IsComplete>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiCloseComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiCloseComplete() { + ::grpc::Service::MarkMethodAsync(10); + } + ~WithAsyncMethod_dapiCloseComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiCloseComplete(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::IsComplete>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiParkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiParkComplete() { + ::grpc::Service::MarkMethodAsync(11); + } + ~WithAsyncMethod_dapiParkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiParkComplete(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::IsComplete>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiUnparkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiUnparkComplete() { + ::grpc::Service::MarkMethodAsync(12); + } + ~WithAsyncMethod_dapiUnparkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnparkComplete(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::IsComplete>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiFindHomeComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiFindHomeComplete() { + ::grpc::Service::MarkMethodAsync(13); + } + ~WithAsyncMethod_dapiFindHomeComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHomeComplete(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::IsComplete>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_dapiSync : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_dapiSync() { + ::grpc::Service::MarkMethodAsync(14); + } + ~WithAsyncMethod_dapiSync() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiSync(::grpc::ServerContext* context, ::hx2dome::AzEl* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::ReturnCode>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_deviceInfoNameShort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_deviceInfoNameShort() { + ::grpc::Service::MarkMethodAsync(15); + } + ~WithAsyncMethod_deviceInfoNameShort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameShort(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::BasicString>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_deviceInfoNameLong : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_deviceInfoNameLong() { + ::grpc::Service::MarkMethodAsync(16); + } + ~WithAsyncMethod_deviceInfoNameLong() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameLong(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::BasicString>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_deviceInfoDetailedDescription : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_deviceInfoDetailedDescription() { + ::grpc::Service::MarkMethodAsync(17); + } + ~WithAsyncMethod_deviceInfoDetailedDescription() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoDetailedDescription(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::BasicString>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_deviceInfoFirmwareVersion : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_deviceInfoFirmwareVersion() { + ::grpc::Service::MarkMethodAsync(18); + } + ~WithAsyncMethod_deviceInfoFirmwareVersion() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoFirmwareVersion(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::BasicString>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_deviceInfoModel : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_deviceInfoModel() { + ::grpc::Service::MarkMethodAsync(19); + } + ~WithAsyncMethod_deviceInfoModel() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoModel(::grpc::ServerContext* context, ::hx2dome::Empty* request, ::grpc::ServerAsyncResponseWriter< ::hx2dome::BasicString>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_dapiGetAzEl > > > > > > > > > > > > > > > > > > > AsyncService; + template + class ExperimentalWithCallbackMethod_dapiGetAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiGetAzEl() { + ::grpc::Service::experimental().MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::AzEl>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::AzEl* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiGetAzEl(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiGetAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiGotoAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiGotoAzEl() { + ::grpc::Service::experimental().MarkMethodCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::AzEl, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::AzEl* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiGotoAzEl(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiGotoAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiAbort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiAbort() { + ::grpc::Service::experimental().MarkMethodCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiAbort(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiAbort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiOpen : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiOpen() { + ::grpc::Service::experimental().MarkMethodCallback(3, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiOpen(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiOpen() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiClose : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiClose() { + ::grpc::Service::experimental().MarkMethodCallback(4, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiClose(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiClose() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiPark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiPark() { + ::grpc::Service::experimental().MarkMethodCallback(5, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiPark(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiPark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiUnpark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiUnpark() { + ::grpc::Service::experimental().MarkMethodCallback(6, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiUnpark(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiUnpark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiFindHome : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiFindHome() { + ::grpc::Service::experimental().MarkMethodCallback(7, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiFindHome(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiFindHome() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiGotoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiGotoComplete() { + ::grpc::Service::experimental().MarkMethodCallback(8, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::IsComplete* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiGotoComplete(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiGotoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiOpenComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiOpenComplete() { + ::grpc::Service::experimental().MarkMethodCallback(9, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::IsComplete* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiOpenComplete(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiOpenComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiCloseComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiCloseComplete() { + ::grpc::Service::experimental().MarkMethodCallback(10, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::IsComplete* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiCloseComplete(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiCloseComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiParkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiParkComplete() { + ::grpc::Service::experimental().MarkMethodCallback(11, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::IsComplete* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiParkComplete(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiParkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiUnparkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiUnparkComplete() { + ::grpc::Service::experimental().MarkMethodCallback(12, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::IsComplete* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiUnparkComplete(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiUnparkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiFindHomeComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiFindHomeComplete() { + ::grpc::Service::experimental().MarkMethodCallback(13, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::IsComplete* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiFindHomeComplete(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiFindHomeComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_dapiSync : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_dapiSync() { + ::grpc::Service::experimental().MarkMethodCallback(14, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::AzEl, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::hx2dome::AzEl* request, + ::hx2dome::ReturnCode* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->dapiSync(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_dapiSync() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_deviceInfoNameShort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_deviceInfoNameShort() { + ::grpc::Service::experimental().MarkMethodCallback(15, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::BasicString* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->deviceInfoNameShort(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_deviceInfoNameShort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_deviceInfoNameLong : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_deviceInfoNameLong() { + ::grpc::Service::experimental().MarkMethodCallback(16, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::BasicString* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->deviceInfoNameLong(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_deviceInfoNameLong() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_deviceInfoDetailedDescription : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_deviceInfoDetailedDescription() { + ::grpc::Service::experimental().MarkMethodCallback(17, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::BasicString* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->deviceInfoDetailedDescription(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_deviceInfoDetailedDescription() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_deviceInfoFirmwareVersion : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_deviceInfoFirmwareVersion() { + ::grpc::Service::experimental().MarkMethodCallback(18, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::BasicString* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->deviceInfoFirmwareVersion(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_deviceInfoFirmwareVersion() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithCallbackMethod_deviceInfoModel : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_deviceInfoModel() { + ::grpc::Service::experimental().MarkMethodCallback(19, + new ::grpc::internal::CallbackUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::hx2dome::Empty* request, + ::hx2dome::BasicString* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->deviceInfoModel(context, request, response, controller); + })); + } + ~ExperimentalWithCallbackMethod_deviceInfoModel() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + typedef ExperimentalWithCallbackMethod_dapiGetAzEl > > > > > > > > > > > > > > > > > > > ExperimentalCallbackService; + template + class WithGenericMethod_dapiGetAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiGetAzEl() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_dapiGetAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiGotoAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiGotoAzEl() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_dapiGotoAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiAbort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiAbort() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_dapiAbort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiOpen : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiOpen() { + ::grpc::Service::MarkMethodGeneric(3); + } + ~WithGenericMethod_dapiOpen() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiClose : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiClose() { + ::grpc::Service::MarkMethodGeneric(4); + } + ~WithGenericMethod_dapiClose() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiPark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiPark() { + ::grpc::Service::MarkMethodGeneric(5); + } + ~WithGenericMethod_dapiPark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiUnpark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiUnpark() { + ::grpc::Service::MarkMethodGeneric(6); + } + ~WithGenericMethod_dapiUnpark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiFindHome : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiFindHome() { + ::grpc::Service::MarkMethodGeneric(7); + } + ~WithGenericMethod_dapiFindHome() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiGotoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiGotoComplete() { + ::grpc::Service::MarkMethodGeneric(8); + } + ~WithGenericMethod_dapiGotoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiOpenComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiOpenComplete() { + ::grpc::Service::MarkMethodGeneric(9); + } + ~WithGenericMethod_dapiOpenComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiCloseComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiCloseComplete() { + ::grpc::Service::MarkMethodGeneric(10); + } + ~WithGenericMethod_dapiCloseComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiParkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiParkComplete() { + ::grpc::Service::MarkMethodGeneric(11); + } + ~WithGenericMethod_dapiParkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiUnparkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiUnparkComplete() { + ::grpc::Service::MarkMethodGeneric(12); + } + ~WithGenericMethod_dapiUnparkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiFindHomeComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiFindHomeComplete() { + ::grpc::Service::MarkMethodGeneric(13); + } + ~WithGenericMethod_dapiFindHomeComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_dapiSync : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_dapiSync() { + ::grpc::Service::MarkMethodGeneric(14); + } + ~WithGenericMethod_dapiSync() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_deviceInfoNameShort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_deviceInfoNameShort() { + ::grpc::Service::MarkMethodGeneric(15); + } + ~WithGenericMethod_deviceInfoNameShort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_deviceInfoNameLong : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_deviceInfoNameLong() { + ::grpc::Service::MarkMethodGeneric(16); + } + ~WithGenericMethod_deviceInfoNameLong() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_deviceInfoDetailedDescription : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_deviceInfoDetailedDescription() { + ::grpc::Service::MarkMethodGeneric(17); + } + ~WithGenericMethod_deviceInfoDetailedDescription() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_deviceInfoFirmwareVersion : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_deviceInfoFirmwareVersion() { + ::grpc::Service::MarkMethodGeneric(18); + } + ~WithGenericMethod_deviceInfoFirmwareVersion() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_deviceInfoModel : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_deviceInfoModel() { + ::grpc::Service::MarkMethodGeneric(19); + } + ~WithGenericMethod_deviceInfoModel() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_dapiGetAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiGetAzEl() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_dapiGetAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGetAzEl(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiGotoAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiGotoAzEl() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_dapiGotoAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGotoAzEl(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiAbort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiAbort() { + ::grpc::Service::MarkMethodRaw(2); + } + ~WithRawMethod_dapiAbort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiAbort(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiOpen : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiOpen() { + ::grpc::Service::MarkMethodRaw(3); + } + ~WithRawMethod_dapiOpen() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpen(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiClose : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiClose() { + ::grpc::Service::MarkMethodRaw(4); + } + ~WithRawMethod_dapiClose() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiClose(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiPark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiPark() { + ::grpc::Service::MarkMethodRaw(5); + } + ~WithRawMethod_dapiPark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiPark(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiUnpark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiUnpark() { + ::grpc::Service::MarkMethodRaw(6); + } + ~WithRawMethod_dapiUnpark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnpark(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiFindHome : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiFindHome() { + ::grpc::Service::MarkMethodRaw(7); + } + ~WithRawMethod_dapiFindHome() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHome(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiGotoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiGotoComplete() { + ::grpc::Service::MarkMethodRaw(8); + } + ~WithRawMethod_dapiGotoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGotoComplete(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiOpenComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiOpenComplete() { + ::grpc::Service::MarkMethodRaw(9); + } + ~WithRawMethod_dapiOpenComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpenComplete(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiCloseComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiCloseComplete() { + ::grpc::Service::MarkMethodRaw(10); + } + ~WithRawMethod_dapiCloseComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiCloseComplete(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiParkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiParkComplete() { + ::grpc::Service::MarkMethodRaw(11); + } + ~WithRawMethod_dapiParkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiParkComplete(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiUnparkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiUnparkComplete() { + ::grpc::Service::MarkMethodRaw(12); + } + ~WithRawMethod_dapiUnparkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnparkComplete(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiFindHomeComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiFindHomeComplete() { + ::grpc::Service::MarkMethodRaw(13); + } + ~WithRawMethod_dapiFindHomeComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHomeComplete(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_dapiSync : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_dapiSync() { + ::grpc::Service::MarkMethodRaw(14); + } + ~WithRawMethod_dapiSync() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiSync(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_deviceInfoNameShort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_deviceInfoNameShort() { + ::grpc::Service::MarkMethodRaw(15); + } + ~WithRawMethod_deviceInfoNameShort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameShort(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_deviceInfoNameLong : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_deviceInfoNameLong() { + ::grpc::Service::MarkMethodRaw(16); + } + ~WithRawMethod_deviceInfoNameLong() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameLong(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_deviceInfoDetailedDescription : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_deviceInfoDetailedDescription() { + ::grpc::Service::MarkMethodRaw(17); + } + ~WithRawMethod_deviceInfoDetailedDescription() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoDetailedDescription(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_deviceInfoFirmwareVersion : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_deviceInfoFirmwareVersion() { + ::grpc::Service::MarkMethodRaw(18); + } + ~WithRawMethod_deviceInfoFirmwareVersion() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoFirmwareVersion(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_deviceInfoModel : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_deviceInfoModel() { + ::grpc::Service::MarkMethodRaw(19); + } + ~WithRawMethod_deviceInfoModel() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoModel(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class ExperimentalWithRawCallbackMethod_dapiGetAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiGetAzEl() { + ::grpc::Service::experimental().MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiGetAzEl(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiGetAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGetAzEl(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiGotoAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiGotoAzEl() { + ::grpc::Service::experimental().MarkMethodRawCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiGotoAzEl(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiGotoAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGotoAzEl(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiAbort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiAbort() { + ::grpc::Service::experimental().MarkMethodRawCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiAbort(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiAbort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiAbort(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiOpen : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiOpen() { + ::grpc::Service::experimental().MarkMethodRawCallback(3, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiOpen(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiOpen() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpen(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiClose : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiClose() { + ::grpc::Service::experimental().MarkMethodRawCallback(4, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiClose(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiClose() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiClose(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiPark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiPark() { + ::grpc::Service::experimental().MarkMethodRawCallback(5, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiPark(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiPark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiPark(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiUnpark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiUnpark() { + ::grpc::Service::experimental().MarkMethodRawCallback(6, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiUnpark(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiUnpark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnpark(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiFindHome : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiFindHome() { + ::grpc::Service::experimental().MarkMethodRawCallback(7, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiFindHome(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiFindHome() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHome(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiGotoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiGotoComplete() { + ::grpc::Service::experimental().MarkMethodRawCallback(8, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiGotoComplete(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiGotoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGotoComplete(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiOpenComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiOpenComplete() { + ::grpc::Service::experimental().MarkMethodRawCallback(9, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiOpenComplete(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiOpenComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpenComplete(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiCloseComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiCloseComplete() { + ::grpc::Service::experimental().MarkMethodRawCallback(10, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiCloseComplete(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiCloseComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiCloseComplete(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiParkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiParkComplete() { + ::grpc::Service::experimental().MarkMethodRawCallback(11, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiParkComplete(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiParkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiParkComplete(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiUnparkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiUnparkComplete() { + ::grpc::Service::experimental().MarkMethodRawCallback(12, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiUnparkComplete(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiUnparkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnparkComplete(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiFindHomeComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiFindHomeComplete() { + ::grpc::Service::experimental().MarkMethodRawCallback(13, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiFindHomeComplete(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiFindHomeComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHomeComplete(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_dapiSync : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_dapiSync() { + ::grpc::Service::experimental().MarkMethodRawCallback(14, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->dapiSync(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_dapiSync() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiSync(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_deviceInfoNameShort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_deviceInfoNameShort() { + ::grpc::Service::experimental().MarkMethodRawCallback(15, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->deviceInfoNameShort(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_deviceInfoNameShort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameShort(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_deviceInfoNameLong : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_deviceInfoNameLong() { + ::grpc::Service::experimental().MarkMethodRawCallback(16, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->deviceInfoNameLong(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_deviceInfoNameLong() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameLong(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_deviceInfoDetailedDescription : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_deviceInfoDetailedDescription() { + ::grpc::Service::experimental().MarkMethodRawCallback(17, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->deviceInfoDetailedDescription(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_deviceInfoDetailedDescription() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_deviceInfoFirmwareVersion : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_deviceInfoFirmwareVersion() { + ::grpc::Service::experimental().MarkMethodRawCallback(18, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->deviceInfoFirmwareVersion(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_deviceInfoFirmwareVersion() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class ExperimentalWithRawCallbackMethod_deviceInfoModel : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_deviceInfoModel() { + ::grpc::Service::experimental().MarkMethodRawCallback(19, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->deviceInfoModel(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_deviceInfoModel() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoModel(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template + class WithStreamedUnaryMethod_dapiGetAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiGetAzEl() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::AzEl>(std::bind(&WithStreamedUnaryMethod_dapiGetAzEl::StreameddapiGetAzEl, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiGetAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiGetAzEl(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiGetAzEl(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::AzEl>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiGotoAzEl : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiGotoAzEl() { + ::grpc::Service::MarkMethodStreamed(1, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::AzEl, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiGotoAzEl::StreameddapiGotoAzEl, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiGotoAzEl() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiGotoAzEl(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiGotoAzEl(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::AzEl,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiAbort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiAbort() { + ::grpc::Service::MarkMethodStreamed(2, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiAbort::StreameddapiAbort, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiAbort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiAbort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiAbort(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiOpen : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiOpen() { + ::grpc::Service::MarkMethodStreamed(3, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiOpen::StreameddapiOpen, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiOpen() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiOpen(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiClose : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiClose() { + ::grpc::Service::MarkMethodStreamed(4, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiClose::StreameddapiClose, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiClose() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiClose(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiPark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiPark() { + ::grpc::Service::MarkMethodStreamed(5, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiPark::StreameddapiPark, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiPark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiPark(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiUnpark : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiUnpark() { + ::grpc::Service::MarkMethodStreamed(6, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiUnpark::StreameddapiUnpark, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiUnpark() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiUnpark(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiFindHome : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiFindHome() { + ::grpc::Service::MarkMethodStreamed(7, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiFindHome::StreameddapiFindHome, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiFindHome() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiFindHome(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiGotoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiGotoComplete() { + ::grpc::Service::MarkMethodStreamed(8, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>(std::bind(&WithStreamedUnaryMethod_dapiGotoComplete::StreameddapiGotoComplete, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiGotoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiGotoComplete(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::IsComplete>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiOpenComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiOpenComplete() { + ::grpc::Service::MarkMethodStreamed(9, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>(std::bind(&WithStreamedUnaryMethod_dapiOpenComplete::StreameddapiOpenComplete, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiOpenComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiOpenComplete(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::IsComplete>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiCloseComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiCloseComplete() { + ::grpc::Service::MarkMethodStreamed(10, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>(std::bind(&WithStreamedUnaryMethod_dapiCloseComplete::StreameddapiCloseComplete, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiCloseComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiCloseComplete(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::IsComplete>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiParkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiParkComplete() { + ::grpc::Service::MarkMethodStreamed(11, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>(std::bind(&WithStreamedUnaryMethod_dapiParkComplete::StreameddapiParkComplete, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiParkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiParkComplete(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::IsComplete>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiUnparkComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiUnparkComplete() { + ::grpc::Service::MarkMethodStreamed(12, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>(std::bind(&WithStreamedUnaryMethod_dapiUnparkComplete::StreameddapiUnparkComplete, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiUnparkComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiUnparkComplete(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::IsComplete>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiFindHomeComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiFindHomeComplete() { + ::grpc::Service::MarkMethodStreamed(13, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::IsComplete>(std::bind(&WithStreamedUnaryMethod_dapiFindHomeComplete::StreameddapiFindHomeComplete, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiFindHomeComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiFindHomeComplete(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::IsComplete>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_dapiSync : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_dapiSync() { + ::grpc::Service::MarkMethodStreamed(14, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::AzEl, ::hx2dome::ReturnCode>(std::bind(&WithStreamedUnaryMethod_dapiSync::StreameddapiSync, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_dapiSync() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status dapiSync(::grpc::ServerContext* context, const ::hx2dome::AzEl* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddapiSync(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::AzEl,::hx2dome::ReturnCode>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_deviceInfoNameShort : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_deviceInfoNameShort() { + ::grpc::Service::MarkMethodStreamed(15, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>(std::bind(&WithStreamedUnaryMethod_deviceInfoNameShort::StreameddeviceInfoNameShort, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_deviceInfoNameShort() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status deviceInfoNameShort(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddeviceInfoNameShort(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::BasicString>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_deviceInfoNameLong : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_deviceInfoNameLong() { + ::grpc::Service::MarkMethodStreamed(16, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>(std::bind(&WithStreamedUnaryMethod_deviceInfoNameLong::StreameddeviceInfoNameLong, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_deviceInfoNameLong() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddeviceInfoNameLong(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::BasicString>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_deviceInfoDetailedDescription : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_deviceInfoDetailedDescription() { + ::grpc::Service::MarkMethodStreamed(17, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>(std::bind(&WithStreamedUnaryMethod_deviceInfoDetailedDescription::StreameddeviceInfoDetailedDescription, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_deviceInfoDetailedDescription() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddeviceInfoDetailedDescription(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::BasicString>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_deviceInfoFirmwareVersion : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_deviceInfoFirmwareVersion() { + ::grpc::Service::MarkMethodStreamed(18, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>(std::bind(&WithStreamedUnaryMethod_deviceInfoFirmwareVersion::StreameddeviceInfoFirmwareVersion, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_deviceInfoFirmwareVersion() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddeviceInfoFirmwareVersion(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::BasicString>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_deviceInfoModel : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_deviceInfoModel() { + ::grpc::Service::MarkMethodStreamed(19, + new ::grpc::internal::StreamedUnaryHandler< ::hx2dome::Empty, ::hx2dome::BasicString>(std::bind(&WithStreamedUnaryMethod_deviceInfoModel::StreameddeviceInfoModel, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_deviceInfoModel() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::hx2dome::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreameddeviceInfoModel(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::hx2dome::Empty,::hx2dome::BasicString>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_dapiGetAzEl > > > > > > > > > > > > > > > > > > > StreamedUnaryService; + typedef Service SplitStreamedService; + typedef WithStreamedUnaryMethod_dapiGetAzEl > > > > > > > > > > > > > > > > > > > StreamedService; +}; + +} // namespace hx2dome + + +#endif // GRPC_hx2dome_2eproto__INCLUDED diff --git a/domehunter/protos/src/hx2dome.pb.cpp b/domehunter/protos/src/hx2dome.pb.cpp new file mode 100644 index 0000000..c719e98 --- /dev/null +++ b/domehunter/protos/src/hx2dome.pb.cpp @@ -0,0 +1,1674 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: hx2dome.proto + +#include "hx2dome.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +namespace hx2dome { +class ReturnCodeDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _ReturnCode_default_instance_; +class AzElDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _AzEl_default_instance_; +class IsCompleteDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _IsComplete_default_instance_; +class BasicStringDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _BasicString_default_instance_; +class EmptyDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _Empty_default_instance_; +} // namespace hx2dome +static void InitDefaultsReturnCode_hx2dome_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::hx2dome::_ReturnCode_default_instance_; + new (ptr) ::hx2dome::ReturnCode(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::hx2dome::ReturnCode::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_ReturnCode_hx2dome_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsReturnCode_hx2dome_2eproto}, {}}; + +static void InitDefaultsAzEl_hx2dome_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::hx2dome::_AzEl_default_instance_; + new (ptr) ::hx2dome::AzEl(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::hx2dome::AzEl::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_AzEl_hx2dome_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsAzEl_hx2dome_2eproto}, {}}; + +static void InitDefaultsIsComplete_hx2dome_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::hx2dome::_IsComplete_default_instance_; + new (ptr) ::hx2dome::IsComplete(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::hx2dome::IsComplete::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_IsComplete_hx2dome_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsIsComplete_hx2dome_2eproto}, {}}; + +static void InitDefaultsBasicString_hx2dome_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::hx2dome::_BasicString_default_instance_; + new (ptr) ::hx2dome::BasicString(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::hx2dome::BasicString::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_BasicString_hx2dome_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsBasicString_hx2dome_2eproto}, {}}; + +static void InitDefaultsEmpty_hx2dome_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::hx2dome::_Empty_default_instance_; + new (ptr) ::hx2dome::Empty(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::hx2dome::Empty::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_Empty_hx2dome_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsEmpty_hx2dome_2eproto}, {}}; + +void InitDefaults_hx2dome_2eproto() { + ::google::protobuf::internal::InitSCC(&scc_info_ReturnCode_hx2dome_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_AzEl_hx2dome_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_IsComplete_hx2dome_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_BasicString_hx2dome_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_Empty_hx2dome_2eproto.base); +} + +::google::protobuf::Metadata file_level_metadata_hx2dome_2eproto[5]; +constexpr ::google::protobuf::EnumDescriptor const** file_level_enum_descriptors_hx2dome_2eproto = nullptr; +constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_hx2dome_2eproto = nullptr; + +const ::google::protobuf::uint32 TableStruct_hx2dome_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::hx2dome::ReturnCode, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::hx2dome::ReturnCode, return_code_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::hx2dome::AzEl, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::hx2dome::AzEl, return_code_), + PROTOBUF_FIELD_OFFSET(::hx2dome::AzEl, az_), + PROTOBUF_FIELD_OFFSET(::hx2dome::AzEl, el_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::hx2dome::IsComplete, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::hx2dome::IsComplete, return_code_), + PROTOBUF_FIELD_OFFSET(::hx2dome::IsComplete, is_complete_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::hx2dome::BasicString, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::hx2dome::BasicString, basic_string_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::hx2dome::Empty, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ +}; +static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, sizeof(::hx2dome::ReturnCode)}, + { 6, -1, sizeof(::hx2dome::AzEl)}, + { 14, -1, sizeof(::hx2dome::IsComplete)}, + { 21, -1, sizeof(::hx2dome::BasicString)}, + { 27, -1, sizeof(::hx2dome::Empty)}, +}; + +static ::google::protobuf::Message const * const file_default_instances[] = { + reinterpret_cast(&::hx2dome::_ReturnCode_default_instance_), + reinterpret_cast(&::hx2dome::_AzEl_default_instance_), + reinterpret_cast(&::hx2dome::_IsComplete_default_instance_), + reinterpret_cast(&::hx2dome::_BasicString_default_instance_), + reinterpret_cast(&::hx2dome::_Empty_default_instance_), +}; + +::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_hx2dome_2eproto = { + {}, AddDescriptors_hx2dome_2eproto, "hx2dome.proto", schemas, + file_default_instances, TableStruct_hx2dome_2eproto::offsets, + file_level_metadata_hx2dome_2eproto, 5, file_level_enum_descriptors_hx2dome_2eproto, file_level_service_descriptors_hx2dome_2eproto, +}; + +const char descriptor_table_protodef_hx2dome_2eproto[] = + "\n\rhx2dome.proto\022\007hx2dome\"!\n\nReturnCode\022\023" + "\n\013return_code\030\001 \001(\005\"3\n\004AzEl\022\023\n\013return_co" + "de\030\001 \001(\005\022\n\n\002az\030\002 \001(\001\022\n\n\002el\030\003 \001(\001\"6\n\nIsCo" + "mplete\022\023\n\013return_code\030\001 \001(\005\022\023\n\013is_comple" + "te\030\002 \001(\010\"#\n\013BasicString\022\024\n\014basic_string\030" + "\001 \001(\t\"\007\n\005Empty2\212\t\n\007HX2Dome\022.\n\013dapiGetAzE" + "l\022\016.hx2dome.Empty\032\r.hx2dome.AzEl\"\000\0224\n\014da" + "piGotoAzEl\022\r.hx2dome.AzEl\032\023.hx2dome.Retu" + "rnCode\"\000\0222\n\tdapiAbort\022\016.hx2dome.Empty\032\023." + "hx2dome.ReturnCode\"\000\0221\n\010dapiOpen\022\016.hx2do" + "me.Empty\032\023.hx2dome.ReturnCode\"\000\0222\n\tdapiC" + "lose\022\016.hx2dome.Empty\032\023.hx2dome.ReturnCod" + "e\"\000\0221\n\010dapiPark\022\016.hx2dome.Empty\032\023.hx2dom" + "e.ReturnCode\"\000\0223\n\ndapiUnpark\022\016.hx2dome.E" + "mpty\032\023.hx2dome.ReturnCode\"\000\0225\n\014dapiFindH" + "ome\022\016.hx2dome.Empty\032\023.hx2dome.ReturnCode" + "\"\000\0229\n\020dapiGotoComplete\022\016.hx2dome.Empty\032\023" + ".hx2dome.IsComplete\"\000\0229\n\020dapiOpenComplet" + "e\022\016.hx2dome.Empty\032\023.hx2dome.IsComplete\"\000" + "\022:\n\021dapiCloseComplete\022\016.hx2dome.Empty\032\023." + "hx2dome.IsComplete\"\000\0229\n\020dapiParkComplete" + "\022\016.hx2dome.Empty\032\023.hx2dome.IsComplete\"\000\022" + ";\n\022dapiUnparkComplete\022\016.hx2dome.Empty\032\023." + "hx2dome.IsComplete\"\000\022=\n\024dapiFindHomeComp" + "lete\022\016.hx2dome.Empty\032\023.hx2dome.IsComplet" + "e\"\000\0220\n\010dapiSync\022\r.hx2dome.AzEl\032\023.hx2dome" + ".ReturnCode\"\000\022=\n\023deviceInfoNameShort\022\016.h" + "x2dome.Empty\032\024.hx2dome.BasicString\"\000\022<\n\022" + "deviceInfoNameLong\022\016.hx2dome.Empty\032\024.hx2" + "dome.BasicString\"\000\022G\n\035deviceInfoDetailed" + "Description\022\016.hx2dome.Empty\032\024.hx2dome.Ba" + "sicString\"\000\022C\n\031deviceInfoFirmwareVersion" + "\022\016.hx2dome.Empty\032\024.hx2dome.BasicString\"\000" + "\0229\n\017deviceInfoModel\022\016.hx2dome.Empty\032\024.hx" + "2dome.BasicString\"\000b\006proto3" + ; +::google::protobuf::internal::DescriptorTable descriptor_table_hx2dome_2eproto = { + false, InitDefaults_hx2dome_2eproto, + descriptor_table_protodef_hx2dome_2eproto, + "hx2dome.proto", &assign_descriptors_table_hx2dome_2eproto, 1387, +}; + +void AddDescriptors_hx2dome_2eproto() { + static constexpr ::google::protobuf::internal::InitFunc deps[1] = + { + }; + ::google::protobuf::internal::AddDescriptors(&descriptor_table_hx2dome_2eproto, deps, 0); +} + +// Force running AddDescriptors() at dynamic initialization time. +static bool dynamic_init_dummy_hx2dome_2eproto = []() { AddDescriptors_hx2dome_2eproto(); return true; }(); +namespace hx2dome { + +// =================================================================== + +void ReturnCode::InitAsDefaultInstance() { +} +class ReturnCode::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ReturnCode::kReturnCodeFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ReturnCode::ReturnCode() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:hx2dome.ReturnCode) +} +ReturnCode::ReturnCode(const ReturnCode& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + return_code_ = from.return_code_; + // @@protoc_insertion_point(copy_constructor:hx2dome.ReturnCode) +} + +void ReturnCode::SharedCtor() { + return_code_ = 0; +} + +ReturnCode::~ReturnCode() { + // @@protoc_insertion_point(destructor:hx2dome.ReturnCode) + SharedDtor(); +} + +void ReturnCode::SharedDtor() { +} + +void ReturnCode::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ReturnCode& ReturnCode::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_ReturnCode_hx2dome_2eproto.base); + return *internal_default_instance(); +} + + +void ReturnCode::Clear() { +// @@protoc_insertion_point(message_clear_start:hx2dome.ReturnCode) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + return_code_ = 0; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* ReturnCode::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // int32 return_code = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual; + msg->set_return_code(::google::protobuf::internal::ReadVarint(&ptr)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool ReturnCode::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:hx2dome.ReturnCode) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // int32 return_code = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &return_code_))); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:hx2dome.ReturnCode) + return true; +failure: + // @@protoc_insertion_point(parse_failure:hx2dome.ReturnCode) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void ReturnCode::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:hx2dome.ReturnCode) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->return_code(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:hx2dome.ReturnCode) +} + +::google::protobuf::uint8* ReturnCode::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:hx2dome.ReturnCode) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->return_code(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:hx2dome.ReturnCode) + return target; +} + +size_t ReturnCode::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:hx2dome.ReturnCode) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->return_code()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ReturnCode::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:hx2dome.ReturnCode) + GOOGLE_DCHECK_NE(&from, this); + const ReturnCode* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:hx2dome.ReturnCode) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:hx2dome.ReturnCode) + MergeFrom(*source); + } +} + +void ReturnCode::MergeFrom(const ReturnCode& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:hx2dome.ReturnCode) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.return_code() != 0) { + set_return_code(from.return_code()); + } +} + +void ReturnCode::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:hx2dome.ReturnCode) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ReturnCode::CopyFrom(const ReturnCode& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:hx2dome.ReturnCode) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ReturnCode::IsInitialized() const { + return true; +} + +void ReturnCode::Swap(ReturnCode* other) { + if (other == this) return; + InternalSwap(other); +} +void ReturnCode::InternalSwap(ReturnCode* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(return_code_, other->return_code_); +} + +::google::protobuf::Metadata ReturnCode::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_hx2dome_2eproto); + return ::file_level_metadata_hx2dome_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void AzEl::InitAsDefaultInstance() { +} +class AzEl::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int AzEl::kReturnCodeFieldNumber; +const int AzEl::kAzFieldNumber; +const int AzEl::kElFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +AzEl::AzEl() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:hx2dome.AzEl) +} +AzEl::AzEl(const AzEl& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::memcpy(&az_, &from.az_, + static_cast(reinterpret_cast(&return_code_) - + reinterpret_cast(&az_)) + sizeof(return_code_)); + // @@protoc_insertion_point(copy_constructor:hx2dome.AzEl) +} + +void AzEl::SharedCtor() { + ::memset(&az_, 0, static_cast( + reinterpret_cast(&return_code_) - + reinterpret_cast(&az_)) + sizeof(return_code_)); +} + +AzEl::~AzEl() { + // @@protoc_insertion_point(destructor:hx2dome.AzEl) + SharedDtor(); +} + +void AzEl::SharedDtor() { +} + +void AzEl::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const AzEl& AzEl::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_AzEl_hx2dome_2eproto.base); + return *internal_default_instance(); +} + + +void AzEl::Clear() { +// @@protoc_insertion_point(message_clear_start:hx2dome.AzEl) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&az_, 0, static_cast( + reinterpret_cast(&return_code_) - + reinterpret_cast(&az_)) + sizeof(return_code_)); + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* AzEl::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // int32 return_code = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual; + msg->set_return_code(::google::protobuf::internal::ReadVarint(&ptr)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } + // double az = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 17) goto handle_unusual; + msg->set_az(::google::protobuf::io::UnalignedLoad(ptr)); + ptr += sizeof(double); + break; + } + // double el = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 25) goto handle_unusual; + msg->set_el(::google::protobuf::io::UnalignedLoad(ptr)); + ptr += sizeof(double); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool AzEl::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:hx2dome.AzEl) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // int32 return_code = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &return_code_))); + } else { + goto handle_unusual; + } + break; + } + + // double az = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (17 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( + input, &az_))); + } else { + goto handle_unusual; + } + break; + } + + // double el = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (25 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( + input, &el_))); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:hx2dome.AzEl) + return true; +failure: + // @@protoc_insertion_point(parse_failure:hx2dome.AzEl) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void AzEl::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:hx2dome.AzEl) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->return_code(), output); + } + + // double az = 2; + if (this->az() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->az(), output); + } + + // double el = 3; + if (this->el() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteDouble(3, this->el(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:hx2dome.AzEl) +} + +::google::protobuf::uint8* AzEl::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:hx2dome.AzEl) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->return_code(), target); + } + + // double az = 2; + if (this->az() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->az(), target); + } + + // double el = 3; + if (this->el() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(3, this->el(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:hx2dome.AzEl) + return target; +} + +size_t AzEl::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:hx2dome.AzEl) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // double az = 2; + if (this->az() != 0) { + total_size += 1 + 8; + } + + // double el = 3; + if (this->el() != 0) { + total_size += 1 + 8; + } + + // int32 return_code = 1; + if (this->return_code() != 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->return_code()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void AzEl::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:hx2dome.AzEl) + GOOGLE_DCHECK_NE(&from, this); + const AzEl* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:hx2dome.AzEl) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:hx2dome.AzEl) + MergeFrom(*source); + } +} + +void AzEl::MergeFrom(const AzEl& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:hx2dome.AzEl) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.az() != 0) { + set_az(from.az()); + } + if (from.el() != 0) { + set_el(from.el()); + } + if (from.return_code() != 0) { + set_return_code(from.return_code()); + } +} + +void AzEl::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:hx2dome.AzEl) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void AzEl::CopyFrom(const AzEl& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:hx2dome.AzEl) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AzEl::IsInitialized() const { + return true; +} + +void AzEl::Swap(AzEl* other) { + if (other == this) return; + InternalSwap(other); +} +void AzEl::InternalSwap(AzEl* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(az_, other->az_); + swap(el_, other->el_); + swap(return_code_, other->return_code_); +} + +::google::protobuf::Metadata AzEl::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_hx2dome_2eproto); + return ::file_level_metadata_hx2dome_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void IsComplete::InitAsDefaultInstance() { +} +class IsComplete::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int IsComplete::kReturnCodeFieldNumber; +const int IsComplete::kIsCompleteFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +IsComplete::IsComplete() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:hx2dome.IsComplete) +} +IsComplete::IsComplete(const IsComplete& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::memcpy(&return_code_, &from.return_code_, + static_cast(reinterpret_cast(&is_complete_) - + reinterpret_cast(&return_code_)) + sizeof(is_complete_)); + // @@protoc_insertion_point(copy_constructor:hx2dome.IsComplete) +} + +void IsComplete::SharedCtor() { + ::memset(&return_code_, 0, static_cast( + reinterpret_cast(&is_complete_) - + reinterpret_cast(&return_code_)) + sizeof(is_complete_)); +} + +IsComplete::~IsComplete() { + // @@protoc_insertion_point(destructor:hx2dome.IsComplete) + SharedDtor(); +} + +void IsComplete::SharedDtor() { +} + +void IsComplete::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const IsComplete& IsComplete::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_IsComplete_hx2dome_2eproto.base); + return *internal_default_instance(); +} + + +void IsComplete::Clear() { +// @@protoc_insertion_point(message_clear_start:hx2dome.IsComplete) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&return_code_, 0, static_cast( + reinterpret_cast(&is_complete_) - + reinterpret_cast(&return_code_)) + sizeof(is_complete_)); + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* IsComplete::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // int32 return_code = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual; + msg->set_return_code(::google::protobuf::internal::ReadVarint(&ptr)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } + // bool is_complete = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual; + msg->set_is_complete(::google::protobuf::internal::ReadVarint(&ptr)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool IsComplete::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:hx2dome.IsComplete) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // int32 return_code = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &return_code_))); + } else { + goto handle_unusual; + } + break; + } + + // bool is_complete = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &is_complete_))); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:hx2dome.IsComplete) + return true; +failure: + // @@protoc_insertion_point(parse_failure:hx2dome.IsComplete) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void IsComplete::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:hx2dome.IsComplete) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->return_code(), output); + } + + // bool is_complete = 2; + if (this->is_complete() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_complete(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:hx2dome.IsComplete) +} + +::google::protobuf::uint8* IsComplete::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:hx2dome.IsComplete) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->return_code(), target); + } + + // bool is_complete = 2; + if (this->is_complete() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->is_complete(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:hx2dome.IsComplete) + return target; +} + +size_t IsComplete::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:hx2dome.IsComplete) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // int32 return_code = 1; + if (this->return_code() != 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->return_code()); + } + + // bool is_complete = 2; + if (this->is_complete() != 0) { + total_size += 1 + 1; + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void IsComplete::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:hx2dome.IsComplete) + GOOGLE_DCHECK_NE(&from, this); + const IsComplete* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:hx2dome.IsComplete) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:hx2dome.IsComplete) + MergeFrom(*source); + } +} + +void IsComplete::MergeFrom(const IsComplete& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:hx2dome.IsComplete) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.return_code() != 0) { + set_return_code(from.return_code()); + } + if (from.is_complete() != 0) { + set_is_complete(from.is_complete()); + } +} + +void IsComplete::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:hx2dome.IsComplete) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IsComplete::CopyFrom(const IsComplete& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:hx2dome.IsComplete) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IsComplete::IsInitialized() const { + return true; +} + +void IsComplete::Swap(IsComplete* other) { + if (other == this) return; + InternalSwap(other); +} +void IsComplete::InternalSwap(IsComplete* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(return_code_, other->return_code_); + swap(is_complete_, other->is_complete_); +} + +::google::protobuf::Metadata IsComplete::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_hx2dome_2eproto); + return ::file_level_metadata_hx2dome_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void BasicString::InitAsDefaultInstance() { +} +class BasicString::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int BasicString::kBasicStringFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +BasicString::BasicString() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:hx2dome.BasicString) +} +BasicString::BasicString(const BasicString& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + basic_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.basic_string().size() > 0) { + basic_string_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.basic_string_); + } + // @@protoc_insertion_point(copy_constructor:hx2dome.BasicString) +} + +void BasicString::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_BasicString_hx2dome_2eproto.base); + basic_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} + +BasicString::~BasicString() { + // @@protoc_insertion_point(destructor:hx2dome.BasicString) + SharedDtor(); +} + +void BasicString::SharedDtor() { + basic_string_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} + +void BasicString::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const BasicString& BasicString::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_BasicString_hx2dome_2eproto.base); + return *internal_default_instance(); +} + + +void BasicString::Clear() { +// @@protoc_insertion_point(message_clear_start:hx2dome.BasicString) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + basic_string_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* BasicString::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // string basic_string = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("hx2dome.BasicString.basic_string"); + object = msg->mutable_basic_string(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool BasicString::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:hx2dome.BasicString) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // string basic_string = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_basic_string())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->basic_string().data(), static_cast(this->basic_string().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "hx2dome.BasicString.basic_string")); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:hx2dome.BasicString) + return true; +failure: + // @@protoc_insertion_point(parse_failure:hx2dome.BasicString) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void BasicString::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:hx2dome.BasicString) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string basic_string = 1; + if (this->basic_string().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->basic_string().data(), static_cast(this->basic_string().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "hx2dome.BasicString.basic_string"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 1, this->basic_string(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:hx2dome.BasicString) +} + +::google::protobuf::uint8* BasicString::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:hx2dome.BasicString) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string basic_string = 1; + if (this->basic_string().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->basic_string().data(), static_cast(this->basic_string().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "hx2dome.BasicString.basic_string"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->basic_string(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:hx2dome.BasicString) + return target; +} + +size_t BasicString::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:hx2dome.BasicString) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string basic_string = 1; + if (this->basic_string().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->basic_string()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void BasicString::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:hx2dome.BasicString) + GOOGLE_DCHECK_NE(&from, this); + const BasicString* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:hx2dome.BasicString) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:hx2dome.BasicString) + MergeFrom(*source); + } +} + +void BasicString::MergeFrom(const BasicString& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:hx2dome.BasicString) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.basic_string().size() > 0) { + + basic_string_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.basic_string_); + } +} + +void BasicString::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:hx2dome.BasicString) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void BasicString::CopyFrom(const BasicString& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:hx2dome.BasicString) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool BasicString::IsInitialized() const { + return true; +} + +void BasicString::Swap(BasicString* other) { + if (other == this) return; + InternalSwap(other); +} +void BasicString::InternalSwap(BasicString* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + basic_string_.Swap(&other->basic_string_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); +} + +::google::protobuf::Metadata BasicString::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_hx2dome_2eproto); + return ::file_level_metadata_hx2dome_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void Empty::InitAsDefaultInstance() { +} +class Empty::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +Empty::Empty() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:hx2dome.Empty) +} +Empty::Empty(const Empty& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:hx2dome.Empty) +} + +void Empty::SharedCtor() { +} + +Empty::~Empty() { + // @@protoc_insertion_point(destructor:hx2dome.Empty) + SharedDtor(); +} + +void Empty::SharedDtor() { +} + +void Empty::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const Empty& Empty::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_Empty_hx2dome_2eproto.base); + return *internal_default_instance(); +} + + +void Empty::Clear() { +// @@protoc_insertion_point(message_clear_start:hx2dome.Empty) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* Empty::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + default: { + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool Empty::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:hx2dome.Empty) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + } +success: + // @@protoc_insertion_point(parse_success:hx2dome.Empty) + return true; +failure: + // @@protoc_insertion_point(parse_failure:hx2dome.Empty) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void Empty::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:hx2dome.Empty) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:hx2dome.Empty) +} + +::google::protobuf::uint8* Empty::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:hx2dome.Empty) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:hx2dome.Empty) + return target; +} + +size_t Empty::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:hx2dome.Empty) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void Empty::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:hx2dome.Empty) + GOOGLE_DCHECK_NE(&from, this); + const Empty* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:hx2dome.Empty) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:hx2dome.Empty) + MergeFrom(*source); + } +} + +void Empty::MergeFrom(const Empty& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:hx2dome.Empty) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + +} + +void Empty::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:hx2dome.Empty) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void Empty::CopyFrom(const Empty& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:hx2dome.Empty) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Empty::IsInitialized() const { + return true; +} + +void Empty::Swap(Empty* other) { + if (other == this) return; + InternalSwap(other); +} +void Empty::InternalSwap(Empty* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); +} + +::google::protobuf::Metadata Empty::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_hx2dome_2eproto); + return ::file_level_metadata_hx2dome_2eproto[kIndexInFileMessages]; +} + + +// @@protoc_insertion_point(namespace_scope) +} // namespace hx2dome +namespace google { +namespace protobuf { +template<> PROTOBUF_NOINLINE ::hx2dome::ReturnCode* Arena::CreateMaybeMessage< ::hx2dome::ReturnCode >(Arena* arena) { + return Arena::CreateInternal< ::hx2dome::ReturnCode >(arena); +} +template<> PROTOBUF_NOINLINE ::hx2dome::AzEl* Arena::CreateMaybeMessage< ::hx2dome::AzEl >(Arena* arena) { + return Arena::CreateInternal< ::hx2dome::AzEl >(arena); +} +template<> PROTOBUF_NOINLINE ::hx2dome::IsComplete* Arena::CreateMaybeMessage< ::hx2dome::IsComplete >(Arena* arena) { + return Arena::CreateInternal< ::hx2dome::IsComplete >(arena); +} +template<> PROTOBUF_NOINLINE ::hx2dome::BasicString* Arena::CreateMaybeMessage< ::hx2dome::BasicString >(Arena* arena) { + return Arena::CreateInternal< ::hx2dome::BasicString >(arena); +} +template<> PROTOBUF_NOINLINE ::hx2dome::Empty* Arena::CreateMaybeMessage< ::hx2dome::Empty >(Arena* arena) { + return Arena::CreateInternal< ::hx2dome::Empty >(arena); +} +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) +#include diff --git a/domehunter/protos/src/hx2dome.pb.h b/domehunter/protos/src/hx2dome.pb.h new file mode 100644 index 0000000..6f81152 --- /dev/null +++ b/domehunter/protos/src/hx2dome.pb.h @@ -0,0 +1,844 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: hx2dome.proto + +#ifndef PROTOBUF_INCLUDED_hx2dome_2eproto +#define PROTOBUF_INCLUDED_hx2dome_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3007000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3007000 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_hx2dome_2eproto + +// Internal implementation detail -- do not use these members. +struct TableStruct_hx2dome_2eproto { + static const ::google::protobuf::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::AuxillaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::ParseTable schema[5] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::google::protobuf::internal::FieldMetadata field_metadata[]; + static const ::google::protobuf::internal::SerializationTable serialization_table[]; + static const ::google::protobuf::uint32 offsets[]; +}; +void AddDescriptors_hx2dome_2eproto(); +namespace hx2dome { +class AzEl; +class AzElDefaultTypeInternal; +extern AzElDefaultTypeInternal _AzEl_default_instance_; +class BasicString; +class BasicStringDefaultTypeInternal; +extern BasicStringDefaultTypeInternal _BasicString_default_instance_; +class Empty; +class EmptyDefaultTypeInternal; +extern EmptyDefaultTypeInternal _Empty_default_instance_; +class IsComplete; +class IsCompleteDefaultTypeInternal; +extern IsCompleteDefaultTypeInternal _IsComplete_default_instance_; +class ReturnCode; +class ReturnCodeDefaultTypeInternal; +extern ReturnCodeDefaultTypeInternal _ReturnCode_default_instance_; +} // namespace hx2dome +namespace google { +namespace protobuf { +template<> ::hx2dome::AzEl* Arena::CreateMaybeMessage<::hx2dome::AzEl>(Arena*); +template<> ::hx2dome::BasicString* Arena::CreateMaybeMessage<::hx2dome::BasicString>(Arena*); +template<> ::hx2dome::Empty* Arena::CreateMaybeMessage<::hx2dome::Empty>(Arena*); +template<> ::hx2dome::IsComplete* Arena::CreateMaybeMessage<::hx2dome::IsComplete>(Arena*); +template<> ::hx2dome::ReturnCode* Arena::CreateMaybeMessage<::hx2dome::ReturnCode>(Arena*); +} // namespace protobuf +} // namespace google +namespace hx2dome { + +// =================================================================== + +class ReturnCode final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:hx2dome.ReturnCode) */ { + public: + ReturnCode(); + virtual ~ReturnCode(); + + ReturnCode(const ReturnCode& from); + + inline ReturnCode& operator=(const ReturnCode& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + ReturnCode(ReturnCode&& from) noexcept + : ReturnCode() { + *this = ::std::move(from); + } + + inline ReturnCode& operator=(ReturnCode&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const ReturnCode& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const ReturnCode* internal_default_instance() { + return reinterpret_cast( + &_ReturnCode_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + void Swap(ReturnCode* other); + friend void swap(ReturnCode& a, ReturnCode& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline ReturnCode* New() const final { + return CreateMaybeMessage(nullptr); + } + + ReturnCode* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const ReturnCode& from); + void MergeFrom(const ReturnCode& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ReturnCode* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // int32 return_code = 1; + void clear_return_code(); + static const int kReturnCodeFieldNumber = 1; + ::google::protobuf::int32 return_code() const; + void set_return_code(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:hx2dome.ReturnCode) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::int32 return_code_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_hx2dome_2eproto; +}; +// ------------------------------------------------------------------- + +class AzEl final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:hx2dome.AzEl) */ { + public: + AzEl(); + virtual ~AzEl(); + + AzEl(const AzEl& from); + + inline AzEl& operator=(const AzEl& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + AzEl(AzEl&& from) noexcept + : AzEl() { + *this = ::std::move(from); + } + + inline AzEl& operator=(AzEl&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const AzEl& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const AzEl* internal_default_instance() { + return reinterpret_cast( + &_AzEl_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + void Swap(AzEl* other); + friend void swap(AzEl& a, AzEl& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline AzEl* New() const final { + return CreateMaybeMessage(nullptr); + } + + AzEl* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const AzEl& from); + void MergeFrom(const AzEl& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AzEl* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // double az = 2; + void clear_az(); + static const int kAzFieldNumber = 2; + double az() const; + void set_az(double value); + + // double el = 3; + void clear_el(); + static const int kElFieldNumber = 3; + double el() const; + void set_el(double value); + + // int32 return_code = 1; + void clear_return_code(); + static const int kReturnCodeFieldNumber = 1; + ::google::protobuf::int32 return_code() const; + void set_return_code(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:hx2dome.AzEl) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + double az_; + double el_; + ::google::protobuf::int32 return_code_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_hx2dome_2eproto; +}; +// ------------------------------------------------------------------- + +class IsComplete final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:hx2dome.IsComplete) */ { + public: + IsComplete(); + virtual ~IsComplete(); + + IsComplete(const IsComplete& from); + + inline IsComplete& operator=(const IsComplete& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + IsComplete(IsComplete&& from) noexcept + : IsComplete() { + *this = ::std::move(from); + } + + inline IsComplete& operator=(IsComplete&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const IsComplete& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const IsComplete* internal_default_instance() { + return reinterpret_cast( + &_IsComplete_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + void Swap(IsComplete* other); + friend void swap(IsComplete& a, IsComplete& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline IsComplete* New() const final { + return CreateMaybeMessage(nullptr); + } + + IsComplete* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const IsComplete& from); + void MergeFrom(const IsComplete& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(IsComplete* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // int32 return_code = 1; + void clear_return_code(); + static const int kReturnCodeFieldNumber = 1; + ::google::protobuf::int32 return_code() const; + void set_return_code(::google::protobuf::int32 value); + + // bool is_complete = 2; + void clear_is_complete(); + static const int kIsCompleteFieldNumber = 2; + bool is_complete() const; + void set_is_complete(bool value); + + // @@protoc_insertion_point(class_scope:hx2dome.IsComplete) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::int32 return_code_; + bool is_complete_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_hx2dome_2eproto; +}; +// ------------------------------------------------------------------- + +class BasicString final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:hx2dome.BasicString) */ { + public: + BasicString(); + virtual ~BasicString(); + + BasicString(const BasicString& from); + + inline BasicString& operator=(const BasicString& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + BasicString(BasicString&& from) noexcept + : BasicString() { + *this = ::std::move(from); + } + + inline BasicString& operator=(BasicString&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const BasicString& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const BasicString* internal_default_instance() { + return reinterpret_cast( + &_BasicString_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + void Swap(BasicString* other); + friend void swap(BasicString& a, BasicString& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline BasicString* New() const final { + return CreateMaybeMessage(nullptr); + } + + BasicString* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const BasicString& from); + void MergeFrom(const BasicString& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(BasicString* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // string basic_string = 1; + void clear_basic_string(); + static const int kBasicStringFieldNumber = 1; + const ::std::string& basic_string() const; + void set_basic_string(const ::std::string& value); + #if LANG_CXX11 + void set_basic_string(::std::string&& value); + #endif + void set_basic_string(const char* value); + void set_basic_string(const char* value, size_t size); + ::std::string* mutable_basic_string(); + ::std::string* release_basic_string(); + void set_allocated_basic_string(::std::string* basic_string); + + // @@protoc_insertion_point(class_scope:hx2dome.BasicString) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr basic_string_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_hx2dome_2eproto; +}; +// ------------------------------------------------------------------- + +class Empty final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:hx2dome.Empty) */ { + public: + Empty(); + virtual ~Empty(); + + Empty(const Empty& from); + + inline Empty& operator=(const Empty& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + Empty(Empty&& from) noexcept + : Empty() { + *this = ::std::move(from); + } + + inline Empty& operator=(Empty&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const Empty& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const Empty* internal_default_instance() { + return reinterpret_cast( + &_Empty_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + void Swap(Empty* other); + friend void swap(Empty& a, Empty& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline Empty* New() const final { + return CreateMaybeMessage(nullptr); + } + + Empty* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const Empty& from); + void MergeFrom(const Empty& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(Empty* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // @@protoc_insertion_point(class_scope:hx2dome.Empty) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_hx2dome_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ReturnCode + +// int32 return_code = 1; +inline void ReturnCode::clear_return_code() { + return_code_ = 0; +} +inline ::google::protobuf::int32 ReturnCode::return_code() const { + // @@protoc_insertion_point(field_get:hx2dome.ReturnCode.return_code) + return return_code_; +} +inline void ReturnCode::set_return_code(::google::protobuf::int32 value) { + + return_code_ = value; + // @@protoc_insertion_point(field_set:hx2dome.ReturnCode.return_code) +} + +// ------------------------------------------------------------------- + +// AzEl + +// int32 return_code = 1; +inline void AzEl::clear_return_code() { + return_code_ = 0; +} +inline ::google::protobuf::int32 AzEl::return_code() const { + // @@protoc_insertion_point(field_get:hx2dome.AzEl.return_code) + return return_code_; +} +inline void AzEl::set_return_code(::google::protobuf::int32 value) { + + return_code_ = value; + // @@protoc_insertion_point(field_set:hx2dome.AzEl.return_code) +} + +// double az = 2; +inline void AzEl::clear_az() { + az_ = 0; +} +inline double AzEl::az() const { + // @@protoc_insertion_point(field_get:hx2dome.AzEl.az) + return az_; +} +inline void AzEl::set_az(double value) { + + az_ = value; + // @@protoc_insertion_point(field_set:hx2dome.AzEl.az) +} + +// double el = 3; +inline void AzEl::clear_el() { + el_ = 0; +} +inline double AzEl::el() const { + // @@protoc_insertion_point(field_get:hx2dome.AzEl.el) + return el_; +} +inline void AzEl::set_el(double value) { + + el_ = value; + // @@protoc_insertion_point(field_set:hx2dome.AzEl.el) +} + +// ------------------------------------------------------------------- + +// IsComplete + +// int32 return_code = 1; +inline void IsComplete::clear_return_code() { + return_code_ = 0; +} +inline ::google::protobuf::int32 IsComplete::return_code() const { + // @@protoc_insertion_point(field_get:hx2dome.IsComplete.return_code) + return return_code_; +} +inline void IsComplete::set_return_code(::google::protobuf::int32 value) { + + return_code_ = value; + // @@protoc_insertion_point(field_set:hx2dome.IsComplete.return_code) +} + +// bool is_complete = 2; +inline void IsComplete::clear_is_complete() { + is_complete_ = false; +} +inline bool IsComplete::is_complete() const { + // @@protoc_insertion_point(field_get:hx2dome.IsComplete.is_complete) + return is_complete_; +} +inline void IsComplete::set_is_complete(bool value) { + + is_complete_ = value; + // @@protoc_insertion_point(field_set:hx2dome.IsComplete.is_complete) +} + +// ------------------------------------------------------------------- + +// BasicString + +// string basic_string = 1; +inline void BasicString::clear_basic_string() { + basic_string_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& BasicString::basic_string() const { + // @@protoc_insertion_point(field_get:hx2dome.BasicString.basic_string) + return basic_string_.GetNoArena(); +} +inline void BasicString::set_basic_string(const ::std::string& value) { + + basic_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:hx2dome.BasicString.basic_string) +} +#if LANG_CXX11 +inline void BasicString::set_basic_string(::std::string&& value) { + + basic_string_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:hx2dome.BasicString.basic_string) +} +#endif +inline void BasicString::set_basic_string(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + basic_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:hx2dome.BasicString.basic_string) +} +inline void BasicString::set_basic_string(const char* value, size_t size) { + + basic_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:hx2dome.BasicString.basic_string) +} +inline ::std::string* BasicString::mutable_basic_string() { + + // @@protoc_insertion_point(field_mutable:hx2dome.BasicString.basic_string) + return basic_string_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* BasicString::release_basic_string() { + // @@protoc_insertion_point(field_release:hx2dome.BasicString.basic_string) + + return basic_string_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void BasicString::set_allocated_basic_string(::std::string* basic_string) { + if (basic_string != nullptr) { + + } else { + + } + basic_string_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), basic_string); + // @@protoc_insertion_point(field_set_allocated:hx2dome.BasicString.basic_string) +} + +// ------------------------------------------------------------------- + +// Empty + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace hx2dome + +// @@protoc_insertion_point(global_scope) + +#include +#endif // PROTOBUF_INCLUDED_hx2dome_2eproto diff --git a/domehunter/protos/src/hx2dome.proto b/domehunter/protos/src/hx2dome.proto new file mode 100644 index 0000000..2d276cb --- /dev/null +++ b/domehunter/protos/src/hx2dome.proto @@ -0,0 +1,61 @@ +// Protocol buffer interface for the TheSkyX X2 Dome interface, +// http://www.bisque.com/x2standard/class_x2_dome.html +syntax = "proto3"; + +// import "google/protobuf/empty.proto"; + +package hx2dome; + +service HX2Dome { + // Dome API + rpc dapiGetAzEl (Empty) returns (AzEl) {}; + rpc dapiGotoAzEl (AzEl) returns (ReturnCode) {}; + rpc dapiAbort (Empty) returns (ReturnCode) {}; + rpc dapiOpen (Empty) returns (ReturnCode) {}; + rpc dapiClose (Empty) returns (ReturnCode) {}; + rpc dapiPark (Empty) returns (ReturnCode) {}; + rpc dapiUnpark (Empty) returns (ReturnCode) {}; + rpc dapiFindHome (Empty) returns (ReturnCode) {}; + rpc dapiGotoComplete (Empty) returns (IsComplete) {}; + rpc dapiOpenComplete (Empty) returns (IsComplete) {}; + rpc dapiCloseComplete (Empty) returns (IsComplete) {}; + rpc dapiParkComplete (Empty) returns (IsComplete) {}; + rpc dapiUnparkComplete (Empty) returns (IsComplete) {}; + rpc dapiFindHomeComplete (Empty) returns (IsComplete) {}; + rpc dapiSync (AzEl) returns (ReturnCode) {}; + // Hardware Info Interface + rpc deviceInfoNameShort (Empty) returns (BasicString) {}; + rpc deviceInfoNameLong (Empty) returns (BasicString) {}; + rpc deviceInfoDetailedDescription (Empty) returns (BasicString) {}; + rpc deviceInfoFirmwareVersion (Empty) returns (BasicString) {}; + rpc deviceInfoModel (Empty) returns (BasicString) {}; +} + +message ReturnCode { + // X2 Dome interface specifies plain `int`, but protocal buffers don't have a + // corresponding type and on most platforms `int` is an alias for `int32`. + int32 return_code = 1; +} + +message AzEl { + // When azimuth-elevation are returned return code will be defined, when being + // passed as an argument there won't be. + int32 return_code = 1; + double az = 2; + double el = 3; +} + +message IsComplete { + // The *Complete functions return a return code along with the boolean value. + int32 return_code = 1; + bool is_complete = 2; +} + +message BasicString { + // X2 had a class specifically for string output, BasicStringInferface + string basic_string = 1; +} + +message Empty { + +} diff --git a/domehunter/protos/src/hx2dome.proto_server.py b/domehunter/protos/src/hx2dome.proto_server.py new file mode 100644 index 0000000..c65a386 --- /dev/null +++ b/domehunter/protos/src/hx2dome.proto_server.py @@ -0,0 +1,104 @@ +from concurrent import futures +import time +import logging + +import grpc + +import hx2dome_pb2 +import hx2dome_pb2_grpc + +_ONE_DAY_IN_SECONDS = 60 * 60 * 24 + +# list of RPCs defined in the proto file +# dapiGetAzEl (google.protobuf.Empty) returns (AzEl) {}; +# dapiGotoAzEl (AzEl) returns (ReturnCode) {}; +# dapiAbort (google.protobuf.Empty) returns (ReturnCode) {}; +# dapiOpen (google.protobuf.Empty) returns (ReturnCode) {}; +# dapiClose (google.protobuf.Empty) returns (ReturnCode) {}; +# dapiPark (google.protobuf.Empty) returns (ReturnCode) {}; +# dapiUnpark (google.protobuf.Empty) returns (ReturnCode) {}; +# dapiFindHome (google.protobuf.Empty) returns (ReturnCode) {}; +# dapiGotoComplete (google.protobuf.Empty) returns (IsComplete) {}; +# dapiOpenComplete (google.protobuf.Empty) returns (IsComplete) {}; +# dapiCloseComplete (google.protobuf.Empty) returns (IsComplete) {}; +# dapiParkComplete (google.protobuf.Empty) returns (IsComplete) {}; +# dapiUnparkComplete (google.protobuf.Empty) returns (IsComplete) {}; +# dapiFindHomeComplete (google.protobuf.Empty) returns (IsComplete) {}; +# dapiSync (AzEl) returns (ReturnCode) {}; + +class HX2DomeServer(hx2dome_pb2_grpc.HX2DomeServicer): + + def dapiGetAzEl(self, request, context): + print(f'Receiving: GetAzEl request') + time.sleep(1) + # send back a made up AzEl + response = hx2dome_pb2.AzEl(return_code=1, az=10.0, el=20.0) + print(f'Sending: Az={response.az}, El={response.el}') + time.sleep(1) + return response + + def dapiGotoAzEl(self, request, context): + # print something for debugging, so I know python server is actually getting a request from client + print(f'Receiving: GotoAzEl Az={request.az}, El={request.el}') + time.sleep(1) + # increment the return code by 1 so I can see the client/server communication is working + response = hx2dome_pb2.ReturnCode(return_code=request.return_code+1) + print(f'Sending: GotoAzEl complete, return code={response.return_code}\n') + time.sleep(1) + return response + + def dapiAbort(self, request, context): + return None + + def dapiOpen(self, request, context): + return None + + def dapiClose(self, request, context): + return None + + def dapiPark(self, request, context): + return None + + def dapiUnpark(self, request, context): + return None + + def dapiFindHome(self, request, context): + return None + + def dapiGotoComplete(self, request, context): + return None + + def dapiOpenComplete(self, request, context): + return None + + def dapiCloseComplete(self, request, context): + return None + + def dapiParkComplete(self, request, context): + return None + + def dapiUnparkComplete(self, request, context): + return None + + def dapiFindHomeComplete(self, request, context): + return None + + def dapiSync(self, request, context): + return None + + +def serve(): + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) + hx2dome_pb2_grpc.add_HX2DomeServicer_to_server(HX2DomeServer(), server) + server.add_insecure_port('[::]:50051') + server.start() + try: + while True: + time.sleep(_ONE_DAY_IN_SECONDS) + except KeyboardInterrupt: + server.stop(0) + + +if __name__ == '__main__': + logging.basicConfig() + serve() diff --git a/domehunter/protos/src/hx2dome_pb2.py b/domehunter/protos/src/hx2dome_pb2.py new file mode 100644 index 0000000..28be0d8 --- /dev/null +++ b/domehunter/protos/src/hx2dome_pb2.py @@ -0,0 +1,435 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: hx2dome.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='hx2dome.proto', + package='hx2dome', + syntax='proto3', + serialized_options=None, + serialized_pb=_b('\n\rhx2dome.proto\x12\x07hx2dome\"!\n\nReturnCode\x12\x13\n\x0breturn_code\x18\x01 \x01(\x05\"3\n\x04\x41zEl\x12\x13\n\x0breturn_code\x18\x01 \x01(\x05\x12\n\n\x02\x61z\x18\x02 \x01(\x01\x12\n\n\x02\x65l\x18\x03 \x01(\x01\"6\n\nIsComplete\x12\x13\n\x0breturn_code\x18\x01 \x01(\x05\x12\x13\n\x0bis_complete\x18\x02 \x01(\x08\"#\n\x0b\x42\x61sicString\x12\x14\n\x0c\x62\x61sic_string\x18\x01 \x01(\t\"\x07\n\x05\x45mpty2\x8a\t\n\x07HX2Dome\x12.\n\x0b\x64\x61piGetAzEl\x12\x0e.hx2dome.Empty\x1a\r.hx2dome.AzEl\"\x00\x12\x34\n\x0c\x64\x61piGotoAzEl\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x32\n\tdapiAbort\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x31\n\x08\x64\x61piOpen\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x32\n\tdapiClose\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x31\n\x08\x64\x61piPark\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x33\n\ndapiUnpark\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x35\n\x0c\x64\x61piFindHome\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x10\x64\x61piGotoComplete\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x39\n\x10\x64\x61piOpenComplete\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12:\n\x11\x64\x61piCloseComplete\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x39\n\x10\x64\x61piParkComplete\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12;\n\x12\x64\x61piUnparkComplete\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12=\n\x14\x64\x61piFindHomeComplete\x12\x0e.hx2dome.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x30\n\x08\x64\x61piSync\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12=\n\x13\x64\x65viceInfoNameShort\x12\x0e.hx2dome.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12<\n\x12\x64\x65viceInfoNameLong\x12\x0e.hx2dome.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12G\n\x1d\x64\x65viceInfoDetailedDescription\x12\x0e.hx2dome.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x43\n\x19\x64\x65viceInfoFirmwareVersion\x12\x0e.hx2dome.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x39\n\x0f\x64\x65viceInfoModel\x12\x0e.hx2dome.Empty\x1a\x14.hx2dome.BasicString\"\x00\x62\x06proto3') +) + + + + +_RETURNCODE = _descriptor.Descriptor( + name='ReturnCode', + full_name='hx2dome.ReturnCode', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='return_code', full_name='hx2dome.ReturnCode.return_code', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=26, + serialized_end=59, +) + + +_AZEL = _descriptor.Descriptor( + name='AzEl', + full_name='hx2dome.AzEl', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='return_code', full_name='hx2dome.AzEl.return_code', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='az', full_name='hx2dome.AzEl.az', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='el', full_name='hx2dome.AzEl.el', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=61, + serialized_end=112, +) + + +_ISCOMPLETE = _descriptor.Descriptor( + name='IsComplete', + full_name='hx2dome.IsComplete', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='return_code', full_name='hx2dome.IsComplete.return_code', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_complete', full_name='hx2dome.IsComplete.is_complete', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=114, + serialized_end=168, +) + + +_BASICSTRING = _descriptor.Descriptor( + name='BasicString', + full_name='hx2dome.BasicString', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='basic_string', full_name='hx2dome.BasicString.basic_string', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=170, + serialized_end=205, +) + + +_EMPTY = _descriptor.Descriptor( + name='Empty', + full_name='hx2dome.Empty', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=207, + serialized_end=214, +) + +DESCRIPTOR.message_types_by_name['ReturnCode'] = _RETURNCODE +DESCRIPTOR.message_types_by_name['AzEl'] = _AZEL +DESCRIPTOR.message_types_by_name['IsComplete'] = _ISCOMPLETE +DESCRIPTOR.message_types_by_name['BasicString'] = _BASICSTRING +DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +ReturnCode = _reflection.GeneratedProtocolMessageType('ReturnCode', (_message.Message,), dict( + DESCRIPTOR = _RETURNCODE, + __module__ = 'hx2dome_pb2' + # @@protoc_insertion_point(class_scope:hx2dome.ReturnCode) + )) +_sym_db.RegisterMessage(ReturnCode) + +AzEl = _reflection.GeneratedProtocolMessageType('AzEl', (_message.Message,), dict( + DESCRIPTOR = _AZEL, + __module__ = 'hx2dome_pb2' + # @@protoc_insertion_point(class_scope:hx2dome.AzEl) + )) +_sym_db.RegisterMessage(AzEl) + +IsComplete = _reflection.GeneratedProtocolMessageType('IsComplete', (_message.Message,), dict( + DESCRIPTOR = _ISCOMPLETE, + __module__ = 'hx2dome_pb2' + # @@protoc_insertion_point(class_scope:hx2dome.IsComplete) + )) +_sym_db.RegisterMessage(IsComplete) + +BasicString = _reflection.GeneratedProtocolMessageType('BasicString', (_message.Message,), dict( + DESCRIPTOR = _BASICSTRING, + __module__ = 'hx2dome_pb2' + # @@protoc_insertion_point(class_scope:hx2dome.BasicString) + )) +_sym_db.RegisterMessage(BasicString) + +Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), dict( + DESCRIPTOR = _EMPTY, + __module__ = 'hx2dome_pb2' + # @@protoc_insertion_point(class_scope:hx2dome.Empty) + )) +_sym_db.RegisterMessage(Empty) + + + +_HX2DOME = _descriptor.ServiceDescriptor( + name='HX2Dome', + full_name='hx2dome.HX2Dome', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=217, + serialized_end=1379, + methods=[ + _descriptor.MethodDescriptor( + name='dapiGetAzEl', + full_name='hx2dome.HX2Dome.dapiGetAzEl', + index=0, + containing_service=None, + input_type=_EMPTY, + output_type=_AZEL, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiGotoAzEl', + full_name='hx2dome.HX2Dome.dapiGotoAzEl', + index=1, + containing_service=None, + input_type=_AZEL, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiAbort', + full_name='hx2dome.HX2Dome.dapiAbort', + index=2, + containing_service=None, + input_type=_EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiOpen', + full_name='hx2dome.HX2Dome.dapiOpen', + index=3, + containing_service=None, + input_type=_EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiClose', + full_name='hx2dome.HX2Dome.dapiClose', + index=4, + containing_service=None, + input_type=_EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiPark', + full_name='hx2dome.HX2Dome.dapiPark', + index=5, + containing_service=None, + input_type=_EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiUnpark', + full_name='hx2dome.HX2Dome.dapiUnpark', + index=6, + containing_service=None, + input_type=_EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiFindHome', + full_name='hx2dome.HX2Dome.dapiFindHome', + index=7, + containing_service=None, + input_type=_EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiGotoComplete', + full_name='hx2dome.HX2Dome.dapiGotoComplete', + index=8, + containing_service=None, + input_type=_EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiOpenComplete', + full_name='hx2dome.HX2Dome.dapiOpenComplete', + index=9, + containing_service=None, + input_type=_EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiCloseComplete', + full_name='hx2dome.HX2Dome.dapiCloseComplete', + index=10, + containing_service=None, + input_type=_EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiParkComplete', + full_name='hx2dome.HX2Dome.dapiParkComplete', + index=11, + containing_service=None, + input_type=_EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiUnparkComplete', + full_name='hx2dome.HX2Dome.dapiUnparkComplete', + index=12, + containing_service=None, + input_type=_EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiFindHomeComplete', + full_name='hx2dome.HX2Dome.dapiFindHomeComplete', + index=13, + containing_service=None, + input_type=_EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiSync', + full_name='hx2dome.HX2Dome.dapiSync', + index=14, + containing_service=None, + input_type=_AZEL, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoNameShort', + full_name='hx2dome.HX2Dome.deviceInfoNameShort', + index=15, + containing_service=None, + input_type=_EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoNameLong', + full_name='hx2dome.HX2Dome.deviceInfoNameLong', + index=16, + containing_service=None, + input_type=_EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoDetailedDescription', + full_name='hx2dome.HX2Dome.deviceInfoDetailedDescription', + index=17, + containing_service=None, + input_type=_EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoFirmwareVersion', + full_name='hx2dome.HX2Dome.deviceInfoFirmwareVersion', + index=18, + containing_service=None, + input_type=_EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoModel', + full_name='hx2dome.HX2Dome.deviceInfoModel', + index=19, + containing_service=None, + input_type=_EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_HX2DOME) + +DESCRIPTOR.services_by_name['HX2Dome'] = _HX2DOME + +# @@protoc_insertion_point(module_scope) diff --git a/domehunter/protos/src/hx2dome_pb2_grpc.py b/domehunter/protos/src/hx2dome_pb2_grpc.py new file mode 100644 index 0000000..6c37c78 --- /dev/null +++ b/domehunter/protos/src/hx2dome_pb2_grpc.py @@ -0,0 +1,369 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +import hx2dome_pb2 as hx2dome__pb2 + + +class HX2DomeStub(object): + # missing associated documentation comment in .proto file + pass + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.dapiGetAzEl = channel.unary_unary( + '/hx2dome.HX2Dome/dapiGetAzEl', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.AzEl.FromString, + ) + self.dapiGotoAzEl = channel.unary_unary( + '/hx2dome.HX2Dome/dapiGotoAzEl', + request_serializer=hx2dome__pb2.AzEl.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiAbort = channel.unary_unary( + '/hx2dome.HX2Dome/dapiAbort', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiOpen = channel.unary_unary( + '/hx2dome.HX2Dome/dapiOpen', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiClose = channel.unary_unary( + '/hx2dome.HX2Dome/dapiClose', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiPark = channel.unary_unary( + '/hx2dome.HX2Dome/dapiPark', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiUnpark = channel.unary_unary( + '/hx2dome.HX2Dome/dapiUnpark', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiFindHome = channel.unary_unary( + '/hx2dome.HX2Dome/dapiFindHome', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiGotoComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiGotoComplete', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiOpenComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiOpenComplete', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiCloseComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiCloseComplete', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiParkComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiParkComplete', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiUnparkComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiUnparkComplete', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiFindHomeComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiFindHomeComplete', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiSync = channel.unary_unary( + '/hx2dome.HX2Dome/dapiSync', + request_serializer=hx2dome__pb2.AzEl.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.deviceInfoNameShort = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoNameShort', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoNameLong = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoNameLong', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoDetailedDescription = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoDetailedDescription', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoFirmwareVersion = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoFirmwareVersion', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoModel = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoModel', + request_serializer=hx2dome__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + + +class HX2DomeServicer(object): + # missing associated documentation comment in .proto file + pass + + def dapiGetAzEl(self, request, context): + """Dome API + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiGotoAzEl(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiAbort(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiOpen(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiClose(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiPark(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiUnpark(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiFindHome(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiGotoComplete(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiOpenComplete(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiCloseComplete(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiParkComplete(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiUnparkComplete(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiFindHomeComplete(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def dapiSync(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def deviceInfoNameShort(self, request, context): + """Hardware Info Interface + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def deviceInfoNameLong(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def deviceInfoDetailedDescription(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def deviceInfoFirmwareVersion(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def deviceInfoModel(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_HX2DomeServicer_to_server(servicer, server): + rpc_method_handlers = { + 'dapiGetAzEl': grpc.unary_unary_rpc_method_handler( + servicer.dapiGetAzEl, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.AzEl.SerializeToString, + ), + 'dapiGotoAzEl': grpc.unary_unary_rpc_method_handler( + servicer.dapiGotoAzEl, + request_deserializer=hx2dome__pb2.AzEl.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiAbort': grpc.unary_unary_rpc_method_handler( + servicer.dapiAbort, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiOpen': grpc.unary_unary_rpc_method_handler( + servicer.dapiOpen, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiClose': grpc.unary_unary_rpc_method_handler( + servicer.dapiClose, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiPark': grpc.unary_unary_rpc_method_handler( + servicer.dapiPark, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiUnpark': grpc.unary_unary_rpc_method_handler( + servicer.dapiUnpark, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiFindHome': grpc.unary_unary_rpc_method_handler( + servicer.dapiFindHome, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiGotoComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiGotoComplete, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiOpenComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiOpenComplete, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiCloseComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiCloseComplete, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiParkComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiParkComplete, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiUnparkComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiUnparkComplete, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiFindHomeComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiFindHomeComplete, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiSync': grpc.unary_unary_rpc_method_handler( + servicer.dapiSync, + request_deserializer=hx2dome__pb2.AzEl.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'deviceInfoNameShort': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoNameShort, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoNameLong': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoNameLong, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoDetailedDescription': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoDetailedDescription, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoFirmwareVersion': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoFirmwareVersion, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoModel': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoModel, + request_deserializer=hx2dome__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'hx2dome.HX2Dome', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) diff --git a/domehunter/protos/src/licensedinterfaces/basiciniutilinterface.h b/domehunter/protos/src/licensedinterfaces/basiciniutilinterface.h new file mode 100644 index 0000000..01b9aea --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/basiciniutilinterface.h @@ -0,0 +1,45 @@ +#ifndef _BasicIniUtilInterface_H_ +#define _BasicIniUtilInterface_H_ + +#define BasicIniUtilInterface_Name "com.bisque.TheSkyX.Components.BasicIniUtilInterface/1.0" + +/*! +\brief The BasicIniUtilInterface is used to make properties persistent. + +\ingroup Tool + +The BasicIniUtilInterface is a cross-platform utility making it easy for X2 implementors to make properties persistent. +X2 implementors are purposefully hidden from any path, filename, instance specifics which is handled +by TheSkyX's implementation of this interface. + +The Reads never fail because a default value is passed. +The Write might fail and an error code is returned, but this rarely happens. +Tested and works on Windows, Mac, Ubuntu Linux. +*/ + +class BasicIniUtilInterface +{ +public: + virtual ~BasicIniUtilInterface(){}; + +public: + + /*!Read an integer from a persistent state.*/ + virtual int readInt(const char* szParentKey, const char* szChildKey, const int& nDefault)=0; + /*!Write an integer to a persistent state.*/ + virtual int writeInt(const char* szParentKey, const char* szChildKey, const int& nValue)=0; + + /*!Read a double from a persistent state.*/ + virtual double readDouble(const char* szParentKey, const char* szChildKey, const double& dDefault)=0; + /*!Write a double to a persistent state.*/ + virtual int writeDouble(const char* szParentKey, const char* szChildKey, const double& dValue)=0; + + /*!Read a string from a persistent state.*/ + virtual void readString(const char* szParentKey, const char* szChildKey, const char* szDefault, char* szResult, int nMaxSizeOfResultIn)=0; + /*!Write a string to a persistent state.*/ + virtual int writeString(const char* szParentKey, const char* szChildKey, const char* szValue)=0; + +}; + +#endif +//Linux wants a 'newline' at the end of every source file - don't delete the one after this line diff --git a/domehunter/protos/src/licensedinterfaces/basicstringinterface.h b/domehunter/protos/src/licensedinterfaces/basicstringinterface.h new file mode 100644 index 0000000..2d23cfa --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/basicstringinterface.h @@ -0,0 +1,29 @@ +#ifndef _BasicStringInterface_H +#define _BasicStringInterface_H + +#define BasicStringInterface_Name "com.bisque.TheSkyX.Components.BasicStringInterface/1.0" + +/*! +\brief The BasicStringInterface allows a string as an output. + +\ingroup Tool + +The BasicStringInterface is passed as a parameter when TheSkyX calls various methods +that need a string as an output parameter from an X2 implementor. + +See the HardwareInfoInterface for methods that pass this interface as a parameter. +*/ +class BasicStringInterface +{ +public: + + virtual ~BasicStringInterface(){} + +public: + //BasicStringInterface + virtual BasicStringInterface& operator=(const char*)=0; + virtual BasicStringInterface& operator+=(const char*)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/deviceinfointerface.h b/domehunter/protos/src/licensedinterfaces/deviceinfointerface.h new file mode 100644 index 0000000..b91a87c --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/deviceinfointerface.h @@ -0,0 +1,34 @@ +#ifndef _HardwareInfoInterface_H +#define _HardwareInfoInterface_H + +#define HardwareInfoInterface_Name "com.bisque.TheSkyX.HardwareInfoInterface/1.0" + +class BasicStringInterface; + +/*! +\brief The HardwareInfoInterface provides X2 implementors a standarized way to provide hardware specific information. + +\ingroup Interface + +*/ +class HardwareInfoInterface +{ +public: + + virtual ~HardwareInfoInterface(){} + +public: + //HardwareInfoInterface + /*! Return a short device name.*/ + virtual void deviceInfoNameShort (BasicStringInterface& str) const=0; + /*! Return a detailed device name.*/ + virtual void deviceInfoNameLong (BasicStringInterface& str) const=0; + /*! Return a detailed device description.*/ + virtual void deviceInfoDetailedDescription (BasicStringInterface& str) const=0; + /*! Return the firmware version, if available.*/ + virtual void deviceInfoFirmwareVersion (BasicStringInterface& str) =0; + /*! Return the device model name.*/ + virtual void deviceInfoModel (BasicStringInterface& str) =0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/domedriverinterface.h b/domehunter/protos/src/licensedinterfaces/domedriverinterface.h new file mode 100644 index 0000000..ca81469 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/domedriverinterface.h @@ -0,0 +1,100 @@ +#ifndef _DomeDriverInterface_H +#define _DomeDriverInterface_H + +#ifdef THESKYX_FOLDER_TREE +#include "imagingsystem/hardware/interfaces/licensed/driverrootinterface.h" +#include "imagingsystem/hardware/interfaces/licensed/linkinterface.h" +#include "imagingsystem/hardware/interfaces/licensed/deviceinfointerface.h" +#include "imagingsystem/hardware/interfaces/licensed/driverinfointerface.h" +#else +#include "driverrootinterface.h" +#include "linkinterface.h" +#include "deviceinfointerface.h" +#include "driverinfointerface.h" +#endif + + +/*! +\brief The DomeDriverInterface allows an X2 implementor to a write X2 dome driver. + +\ingroup Driver + +*/ +class DomeDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface +{ +public: + virtual ~DomeDriverInterface(){} + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_DOME;} + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + //@} + + /*!\name LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) = 0; + virtual int terminateLink(void) = 0; + virtual bool isLinked(void) const = 0; + //@} + + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const {(void)str;}; + virtual void deviceInfoNameLong(BasicStringInterface& str) const {(void)str;}; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const {(void)str;}; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) {(void)str;}; + virtual void deviceInfoModel(BasicStringInterface& str) {(void)str;}; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const = 0; + virtual double driverInfoVersion(void) const = 0; + //@} + + /*! Return the dome azimuth (and elevation, if necessary).*/ + virtual int dapiGetAzEl(double* pdAz, double* pdEl)=0; + /*! Inititate a dome goto. \sa dapiIsGotoComplete()*/ + virtual int dapiGotoAzEl(double dAz, double dEl)=0; + /*! Abort any operation in progress.*/ + virtual int dapiAbort(void)=0; + /*! Inititate opening the dome slit. \sa dapiIsOpenComplete()*/ + virtual int dapiOpen(void)=0; + /*! Inititate closing the dome slit. \sa dapiIsCloseComplete()*/ + virtual int dapiClose(void)=0; + /*! Inititate parking the dome. \sa dapiIsParkComplete()*/ + virtual int dapiPark(void)=0; + /*! Inititate unparking the dome. \sa dapiIsUnparkComplete()*/ + virtual int dapiUnpark(void)=0; + /*! Inititate finding home. \sa dapiIsFindHomeComplete()*/ + virtual int dapiFindHome(void)=0; + + /*!\name Is Complete Members*/ + //@{ + /*! Return if the goto is complete.*/ + virtual int dapiIsGotoComplete(bool* pbComplete)=0; + /*! Return if the open is complete.*/ + virtual int dapiIsOpenComplete(bool* pbComplete)=0; + /*! Return if the open is complete.*/ + virtual int dapiIsCloseComplete(bool* pbComplete)=0; + /*! Return if the park is complete.*/ + virtual int dapiIsParkComplete(bool* pbComplete)=0; + /*! Return if the unpark is complete.*/ + virtual int dapiIsUnparkComplete(bool* pbComplete)=0; + /*! Return if find home is complete.*/ + virtual int dapiIsFindHomeComplete(bool* pbComplete)=0; + //@} + + /*! Initialize the dome coordinate to dAz (and dEl if necessary)*/ + virtual int dapiSync(double dAz, double dEl)=0; + +}; + + + +#endif diff --git a/domehunter/protos/src/licensedinterfaces/driverinfointerface.h b/domehunter/protos/src/licensedinterfaces/driverinfointerface.h new file mode 100644 index 0000000..d6f2129 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/driverinfointerface.h @@ -0,0 +1,28 @@ +#ifndef _DriverInfoInterface_H +#define _DriverInfoInterface_H + +#define DriverInfoInterface_Name "com.bisque.TheSkyX.DriverInfoInterface/1.0" + +class BasicStringInterface; + +/*! +\brief The DriverInfoInterface provides X2 implementors a standarized way to provide driver specific information. + +\ingroup Interface + +*/ +class DriverInfoInterface +{ +public: + + virtual ~DriverInfoInterface(){} + +public: + /*!Return a version number.*/ + virtual double driverInfoVersion(void) const =0; + /*!Return detailed information about the driver.*/ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/driverrootinterface.h b/domehunter/protos/src/licensedinterfaces/driverrootinterface.h new file mode 100644 index 0000000..3478a7a --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/driverrootinterface.h @@ -0,0 +1,51 @@ +#ifndef _DriverRootInterface_H +#define _DriverRootInterface_H + +#define DriverRootInterface_Name "com.bisque.TheSkyX.DriverRootInterface/1.0" + +#define DRIVER_MAX_STRING 1000 + +/*! +\brief The DriverRootInterface is the foundation for all X2 device drivers. + +\ingroup Tool + +Each specific DeviceType implementation inherits this interface and +adds methods/proproties common to all devices in kind, if any. TheSkyX +leverages queryAbstraction() as a runtime means of obtaining, optional +well-defined interfaces. +Tested and works on Windows, Mac, Ubuntu Linux. +*/ + +class DriverRootInterface +{ +public: + + /*! DeviceType. */ + enum DeviceType + { + DT_UNKNOWN = 0,/**< Unknown device type.*/ + DT_MOUNT = 1,/**< Mount.*/ + DT_FOCUSER = 2,/**< Focuser.*/ + DT_CAMERA = 3,/**< Camera.*/ + DT_FILTERWHEEL = 4,/**< Filter wheel.*/ + DT_DOME = 5,/**< Dome.*/ + DT_ROTATOR = 6,/**< Rotator.*/ + DT_WEATHER = 7,/**< Weather station.*/ + DT_GPSTFP = 8,/**< Accurate timing.*/ + DT_VIDEO = 9,/**< Video camera.*/ + DT_OTA =10,/**< Optical tube assembly.*/ + DT_AO =11,/**< Adaptive optics.*/ + }; + + virtual ~DriverRootInterface(){} + +public: + /*!Returns the type of device.*/ + virtual DeviceType deviceType(void) = 0; + /*!Return a pointer to well defined interface.*/ + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/linkinterface.h b/domehunter/protos/src/licensedinterfaces/linkinterface.h new file mode 100644 index 0000000..29bcb41 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/linkinterface.h @@ -0,0 +1,40 @@ +#ifndef _LinkInterface_H +#define _LinkInterface_H + +#define LinkInterface_Name "com.bisque.TheSkyX.LinkInterface/1.0" + +/*! +\brief The LinkInterface allows connect and realated device operations. + +\ingroup Tool + +The word Link is used to describe the connection state to a device simply because the +word Connect (and disconnet) are used frequently in source code for other things. +*/ + +class LinkInterface +{ +public: + + virtual ~LinkInterface(){} + +public: + //LinkInterface + /*! Connect (link) to the device.*/ + virtual int establishLink(void) = 0; + /*! Disconnect from the device.*/ + virtual int terminateLink(void) = 0; + /*! Return true if there is a connection, otherwise return false.*/ + virtual bool isLinked(void) const = 0; + + /*! + Software Bisque implementations only. + For those devices where the above establishLink can take more than say 2 seconds, + its nice to allow user's the ability to abort the operation, especially if/when + there is no actual device connected and establishLink has to time out. + */ + virtual bool isEstablishLinkAbortable(void){return false;} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/loggerinterface.h b/domehunter/protos/src/licensedinterfaces/loggerinterface.h new file mode 100644 index 0000000..08b747c --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/loggerinterface.h @@ -0,0 +1,72 @@ +#ifndef _LoggerInterface_H_ +#define _LoggerInterface_H_ + +#define LoggerInterface_Name "com.bisque.TheSkyX.Components.LoggerInterface/1.0" + +/*! +\brief The LoggerInterface is a cross-platform logging utility passed to X2 implementors to show real-time, +driver logging information in TheSkyX. + +\ingroup Tool + +This interface is probably most useful while developing and debugging an x2 driver. To a lesser +extent it can also be used to help customers troubleshoot driver related issues, but only when +absolutely necessary. In other words, x2 drivers should work out-of-the-box and customers +should not to have enabling logging and or wade through logs to help find and fix issues, +although in rare circumstances, this might be necessary. + +To enable logging, an x2 driver must respond appropriately to queryAbstraction() +when queried for logger interface. Please see the x2dome example for sample code on how +to respond to queryAbstraction: + +\dontinclude x2dome.cpp +\skip int X2Dome::queryAbstraction +\until { +... +\skip optional LoggerInterface +\until GetLogger +... +\skip } +\line } + +where GetLogger() returns a pointer to the LoggerInterface passed in the constructor; + +and how to send output to the TheSkyX's logging window: + +\dontinclude x2dome.cpp +\skip int X2Dome::dapiGetAzEl +\until GetLogger()->out + +An x2 implementor might choose to only support the logger interface in debug or special builds and +not for release builds. In any case, it is acceptable to leave in your code all the logger +output calls as they are very efficient and don't actively do something unless 1) queryAbstraction +enables logging and 2) the customer has displayed the corresponding logging window in TheSkyX. + +TheSkyX's user interface will not give an option to show a logging window unless the underlining x2 driver +responds to queryAbstraction() appropriately above. + +This interface is optional. + +Dome logging requires TheSkyX build 4767 and later (mount logging has been present since TheSkyX's inception). + +See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. + +Tested and works on Windows, Mac, Ubuntu Linux. +*/ + +class LoggerInterface +{ +public: + virtual ~LoggerInterface(){}; + +public: + /*! Have a string logged in TheSkyX's Communication Log window.*/ + virtual int out(const char* szLogThis)=0; + + /*! Return the number of packets, retries and failures associated with device io if appropriate.*/ + virtual void packetsRetriesFailuresChanged(const int& p, const int& r, const int& f)=0; + +}; + +#endif +//Linux wants a 'newline' at the end of every source file - don't delete the one after this line diff --git a/domehunter/protos/src/licensedinterfaces/mutexinterface.h b/domehunter/protos/src/licensedinterfaces/mutexinterface.h new file mode 100644 index 0000000..7b169e7 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/mutexinterface.h @@ -0,0 +1,60 @@ +#ifndef _MutexInterface_h +#define _MutexInterface_h + +#define MutexInterface_Name "com.bisque.TheSkyX.Components.MutexInterface/1.0" + +/*! +\brief The MutexInterface provides a cross-platform mutex. + +\ingroup Tool + +The MutexInterface is a cross-platform mutex interface passed to X2 implementors. +Provides X2 implementors an operating system agnostic mutex. +Tested and works on Windows, Mac, Ubuntu Linux. +*/ +class MutexInterface +{ +public: + virtual ~MutexInterface(){}; +public: + /*!Locks the mutex.*/ + virtual void lock()=0; + /*!Unlocks the mutex.*/ + virtual void unlock()=0; +}; + +/*! +\brief The X2MutexLocker provides a cross-platform utility to lock and unlock a MutexInterface. + +\ingroup Tool + +A convienent helper ensures perfect mutex unlock for every lock, typically used to serialize device io calls. +Simply declare a local instance of this object which automatically locks the mutex and unlocks the mutex when +it goes out of scope. +*/ +class X2MutexLocker +{ +public: + /*! The constructor that automatically locks the MutexInterface passed in.*/ + X2MutexLocker(MutexInterface* pIOMutex) + { + m_pIOMutex = pIOMutex; + + if (m_pIOMutex) + m_pIOMutex->lock(); + } + + /*! The destructor that automatically unlocks the MutexInterface.*/ + ~X2MutexLocker() + { + if (m_pIOMutex) + m_pIOMutex->unlock(); + } +private: + + MutexInterface* m_pIOMutex; + +}; +#endif + +//Linux wants a 'newline' at the end of every source file - don't delete the one after this line diff --git a/domehunter/protos/src/licensedinterfaces/sberrorx.h b/domehunter/protos/src/licensedinterfaces/sberrorx.h new file mode 100644 index 0000000..fb8ca69 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/sberrorx.h @@ -0,0 +1,499 @@ +//Copyright Software Bisque 2017 + +#ifndef SBERRORX_H +#define SBERRORX_H + + +#define SB_OK 0 //No error. +#define ERR_NOERROR 0 //|No error.| + + +#define ERR_COMMNOLINK 200 //|The operation failed because there is no connection to the device.| +#define ERR_COMMOPENING 201 //|Could not open communications port. The port is either in use by another application or not recognized by the system.| +#define ERR_COMMSETTINGS 202 //|The communications port could not support the specified settings.| +#define ERR_NORESPONSE 203 //|No response from the device.| +#define ERR_MEMORY 205 //|Error: memory error.| +#define ERR_CMDFAILED 206 //|Error: command failed.| +#define ERR_DATAOUT 207 //|Transmit time-out.| +#define ERR_TXTIMEOUT 208 //|Transmission time-out.| +#define ERR_RXTIMEOUT 209 //|Receive time-out.| +#define ERR_POSTMESSAGE 210 //|Post message failed.| +#define ERR_POINTER 211 //|Pointer error.| +#define ERR_ABORTEDPROCESS 212 //|Process aborted.| +#define ERR_AUTOTERMINATE 213 //|Error, poor communication, connection automatically terminated.| +#define ERR_INTERNETSETTINGS 214 //|Error, cannot connect to host.| +#define ERR_NOLINK 215 //|No connection to the device.| +#define ERR_DEVICEPARKED 216 //|Error, the device is parked and must be unparked using the Unpark command before proceeding.| +#define ERR_DRIVERNOTFOUND 217 //|A necessary driver was not found.| +#define ERR_LIMITSEXCEEDED 218 //|Limits exceeded.| +#define ERR_COMMANDINPROGRESS 219 //|Command in progress.| + + +#define ERR_CMD_IN_PROGRESS_MODELESSDLG 110 //|A Window command is already is already in progress.| +#define ERR_CMD_IN_PROGRESS_DBQRY 111 //|A Database Query command is already is already in progress.| +#define ERR_CMD_IN_PROGRESS_IMGSYS 112 //|An Imaging System command is already in progress.| +#define ERR_CMD_IN_PROGRESS_FW 113 //|A Filter Wheel command is already is in progress.| +#define ERR_CMD_IN_PROGRESS_SATTRACK 114 //|A Satellite Tracking command is already is in progress.| +#define ERR_CMD_IN_PROGRESS_CAL_RUN 115 //|A TPoint calibration run is already in progress.| +#define ERR_CMD_IN_PROGRESS_THEATER 116 //|A Threater Suite Command in already in progress.| +#define ERR_CMD_IN_PROGRESS_FOC 117 //|A Focuser command is already is in progress.| +#define ERR_CMD_IN_PROGRESS_OTA 118 //|An OTA command is already in progress.| +#define ERR_CMD_IN_PROGRESS_APR 119 //|An Automated Pointing Calibration run is already in progress.| +#define ERR_CMD_IN_PROGRESS_CAM 120 //|A Camera command is already in progress.| +#define ERR_CMD_IN_PROGRESS_MNT 121 //|A Mount command is already in progress.| +#define ERR_CMD_IN_PROGRESS_CLS 122 //|A Closed Loop Slew command already in progress.| +#define ERR_CMD_IN_PROGRESS_DOME 123 //|A Dome command is already in progress.| +#define ERR_CMD_IN_PROGRESS_ROT 124 //|A Rotator command is already in progress.| + + +#define ERR_WAITING_CAM_CMD 130 //|Error waiting on camera command to complete.| +#define ERR_UNEXPECTED_CALLING_THREAD 131 //|Unexpected error.| +#define ERR_WAITING_FOR_CAM_TEMP 132 //|Error waiting on camera temperature to complete.| +#define ERR_EXITING_CAM 133 //|Error deleting camera.| + + +#define ERR_DEVICENOTSUPPORTED 220 //|Device not supported.| +#define ERR_NOTPOINT 221 //|TPoint model not available.| +#define ERR_MOUNTNOTSYNCED 222 //|The operation failed because the mount not yet been synchronized to a known star.| +#define ERR_USERASCLIENT 223 //|You must use the RASClient application to connect to a remote observatory.| +#define ERR_THESKYNOTRUNNING 224 //|The attempted operation requires the TheSky5 Level IV or TheSky6/TheSkyX Professional Edition and it must be running.| +#define ERR_NODEVICESELECTED 225 //|No device has been selected.| +#define ERR_CANTLAUNCHTHESKY 226 //|Unable to launch TheSky.| +#define ERR_NOTINITIALIZED 227 //|Telescope not initialized. The telescope must be initialized in order to perform this operation.| +#define ERR_COMMANDNOTSUPPORTED 228 //|This command is not supported by the selected device.| +#define ERR_LX200DESTBELOWHORIZ 229 //|The Slew command failed because the LX200/Autostar reports that the destination coordinates are below the horizon.| +#define ERR_LX200OUTSIDELIMIT 230 //|The Slew command failed because the LX200/Autostar reports that slewing to the destination coordinates is not possible. Was the telescope synchronized?| +#define ERR_MOUNTNOTHOMED 231 //|The operation failed because the mount is not yet homed.| +#define ERR_TPOINT_NO_MORE_SAMPLES 232 //|TPoint not accepting additional pointing samples.| +#define ERR_JOYSTICKING 233 //|The operation failed because the joystick is being activated or the device is under manual control.| +#define ERR_NOPARKPOSITION 234 //|Error, no park position has been set.| +#define ERR_BADPOINTINGSAMPLE 235 //|The pointing sample was rejected because it is too far out to be valid.This error is typically the result of an exceedingly poor polar alignment or an improperly initialized mount, for example an incorrect star synchronization.To avoid this error, double check your polar alignment with the 'Rough Polar Alignment' (Paramount's only) and or telescope initialization.| +#define ERR_DSSRXTIMEOUT 236 //|Time-out downloading DSS photo.| +#define ERR_BADSYNCINTOMODEL 237 //|The 'Sync mount into the existing model' is rejected because it is too far out.Double check polar alignment, date and time and location.| +#define ERR_MOUNT1NOTPARKED 238 //|The mount is not parked.| +#define ERR_MOUNT2NOTPARKED 239 //|The mount number 2 is not parked.| +#define ERR_MOUNT3NOTPARKED 240 //|The mount number 3 is not parked.| + + +#define FLASH_REPROGRAMMED 3015 //|Turn off power, move dip switches to off position, then turn power on and reconnect.| +#define FLASH_NEEDSREPROGRAMMED 3016 //|Firmware needs re-programmed. This will reset all limit minimum and maximum values.| +#define FIRMWARE_NOT_SUPPORTED 3017 //|Firmware version is not supported.| +#define FLASH_IN_PROGRAM_MODE 3018 //|The mount firmware in is program mode and cannot be communicated with.Please turn the mount off.Wait at least 5 seconds.Then turn it back on to proceed.| +#define FLASH_NOT_IN_PROGRAM_MODE 3019 //|The mount firmware is not in the correct state to be re-programmed.| + + +#define ERR_OBJECTNOTFOUND 250 //|Object not found.| +#define ERR_OBJECTTOOLOW 251 //|Object too low.| +#define ERR_MISSING_NIGHTVISIONMODE_THEME 252 //|Setting Night Vision Mode failed.On Windows, make sure the required file 'TheSkyX Night Vision Mode.Theme' is available to the Windows Display Properties dialog.| +#define ERR_DISPLAY_PROPS_ALREADY_RUNNING 253 //|The Windows Display Properties dialog is open. Please close it and try again.| +#define ERR_THEME_NOT_SAVED 254 //|Night Vision cannot be invoked because the current theme has been modified without being saved. Please save the current theme by clicking Start, Control Panel, Display, and from the Themes tab, click Save As.| +#define ERR_NOOBJECTSELECTED 255 //|The command failed because there is no target. Find or click on a target.| +#define ERR_BADDOMEGEOMETRY 256 //|Invalid dome geometry.| + + +#define ERR_BADPACKET 300 //|Bad packet.| +#define ERR_BADCHECKSUM 301 //|Bad checksum.| +#define ERR_UNKNOWNRESPONSE 302 //|Unknown response.| +#define ERR_UNKNOWNCMD 303 //|Unknown command.| +#define ERR_BADSEQUENCENUM 304 //|Bad sequence number.| +#define ERR_ENCRYPTION 305 //|Packet encryption failed.| + + +#define ERR_TASHIFT 400 //|Track and Accumulate Shift Error.| +#define ERR_TAACCUM 401 //|Track and Accumulate Accumulation Error.| +#define ERR_TACENTROID 402 //|Track and Accumulate Centroid Error.| +#define ERR_TAREMOVEPEDESTAL 403 //|Track and Accumulate Pedestal Error.| +#define ERR_TASUBOFFSET 404 //|Track and Accumulate Subtract Offset.| +#define ERR_TARESIZEIMAGE 405 //|Track and Accumulate Resize Error.| +#define ERR_TACLEARBUF 406 //|Track and Accumulate Clear Buffer.| +#define ERR_TAFINDMINMAX 407 //|Track and Accumulate find min/max error.| +#define ERR_TASTARBRTDOWN50 408 //|Track and Accumulate star brightness down 50%.| +#define ERR_TAUSERRECTNOTFOUND 409 //|Track and Accumulate rectangle not found.| + + +#define ERR_COMBINE_BPP 500 //|Combine not available for the image bits-per-pixel.| +#define ERR_COMBINE_FILETYPE 501 //|Incorrect file type for this combine function.| +#define ERR_COMBINE_READTRKLST 502 //|Error reading track list.| +#define ERR_OUTOFDISKSPACE 503 //|Out of disk space.| +#define ERR_SATURATEDPIXELS 504 //|Cannot proceed, saturated pixels found. If possible lower your exposure time.| +#define ERR_FILEAREREADONLY 505 //|Unable to complete the operation because one or more files are read only (Windows) or locked (Mac).| +#define ERR_PATHNOTFOUND 506 //|Unable to create or access the folder.| +#define ERR_FILEMUSTBESAVED 507 //|Please save the photo before using this command.| +#define ERR_FILEISSTALE 508 //|The data file is stale.| + + +#define ERR_STARTOODIM1 550 //|Star too dim. Lost during +X move.| +#define ERR_STARTOODIM2 551 //|Star too dim. Lost during -X move.| +#define ERR_STARTOODIM3 552 //|Star too dim. Lost during +Y move.| +#define ERR_STARTOODIM4 553 //|Star too dim. Lost during -Y move.| +#define ERR_MOVEMENTTOOSMALL1 554 //|Motion too small during +X move. Increase calibration time.| +#define ERR_MOVEMENTTOOSMALL2 555 //|Motion too small during -X move. Increase calibration time.| +#define ERR_MOVEMENTTOOSMALL3 556 //|Motion too small during +Y move. Increase calibration time.| +#define ERR_MOVEMENTTOOSMALL4 557 //|Motion too small during -Y move. Increase calibration time.| +#define ERR_STARTOOCLOSETOEDGE1 558 //|Star too close to edge after +X move.| +#define ERR_STARTOOCLOSETOEDGE2 559 //|Star too close to edge after -X move.| +#define ERR_STARTOOCLOSETOEDGE3 560 //|Star too close to edge after +Y move.| +#define ERR_STARTOOCLOSETOEDGE4 561 //|Star too close to edge after -Y move.| +#define ERR_AXISNOTPERPENDICULAR1 562 //|Invalid motion in X axis.| +#define ERR_AXISNOTPERPENDICULAR2 563 //|Invalid motion in Y axis.| +#define ERR_BOTHAXISDISABLED 564 //|Unable to calibrate, both axis are disabled. At least one axis must be enabled to calibrate.| +#define ERR_RECALIBRATE 565 //|Autoguider calibration is required. The Declination at calibration is unknown, but declination is now known.| +#define ERR_NOBRIGHTOBJECTFOUND 566 //|No bright object found on image.| +#define ERR_INSUFFICIENTCORRELATION 567 //|Insufficient correlation between target image and image under analysis.| +#define ERR_ROTATORCONNECTED 568 //|Autoguider calibration is required. A camera rotator was connected after calibration was performed.| +#define ENUM_ERR_ROTATORDISCONNECTED 569 //|Autoguider calibration is required. A camera rotator was disconnected after calibration was performed.| +#define ERR_IMAGESIZECHANGED 570 //|Autoguider calibration is required. Image size changed since most recent calibration.| +#define ENUM_ERR_PARAMOUNT_SYNC_NOT_REQ 572 //|The Paramount does not require star synchronization.| + + +#define ERR_DSSNAMETOLONG 600 //|The file name and/or path is too long.| +#define ERR_DSSNOTINITED 601 //|The Digitized Sky Survey Setup is not properly initialized, please check Digitized Sky Survey Setup parameters.| +#define ERR_DSSSYSERROR 602 //|System error. Please verify Digitized Sky Survey Setup parameters are correct and make sure the data is present.| +#define ERR_DSSWRONGDISK 603 //|Wrong Disk.| +#define ERR_DSSNOIMAGE 604 //|No image found to extract.| +#define ERR_DSSINVALIDCOORDINATE 605 //|Invalid coordinate(s).| +#define ERR_DSSINVALIDSIZE 606 //|Invalid size.| +#define ERR_DSSDLLOLD 607 //|The file DSS_DLL.DLL is old and not compatible with this program. Please obtain the latest DSS_DLL.DLL.| +#define ERR_DSSCDROM 608 //|Unable to access the Digitized Sky Survey data. Make sure the volume or drive is valid.| +#define ERR_DSSHEADERSPATH 609 //|Unable to access the headers path specified in Digitized Sky Survey Setup. Please correct the path.| +#define ERR_DSSNODSSDISK 610 //|The Digitized Sky Survey data is not present in the specified location.| +#define ERR_DSSNOTINSURVEY 611 //|Not in survey.| +#define ERR_SE_INTERNAL_ERROR 612 //|An error occured within Source Extraction.| + + +#define ERR_ILINK_NOSCALE 650 //|Image Link has no image scale.| +#define ERR_ILINK_TOOFEWBMP 651 //|Image Link failed because there are not enough stars in the photo. Possible solutions include:
  1. Try a longer exposure.
  2. Lower the Detection Threshold in the Source Extraction Setup window to detect fainter stars in the photo.
  3. Lower the Minimum Number of Pixels Above Threshold in the Source Extraction Setup window to extract stars near the background.
| +#define ERR_ILINK_TOOFEWSKY 652 //|Image Link failed because there are an insufficient number of matching cataloged stars. There must be at least eight cataloged stars in each image to perform an Image Link. Verify which star databases are active.| +#define ERR_ILINK_NOMATCHFOUND 653 //|Image Link failed, no pattern matching found. Make sure the RA/Dec coordinates in the FITS header are correct, and double-check the image scale.| +#define ERR_ILINK_NOIMAGE 654 //|Image Link failed because there is no FITS photo to compare. Click the Open Fits button on the Search tab to proceed.| +#define ERR_ILINK_ERR_ASTROM_SOLN_FAILED 655 //|The astrometric solution failed.| +#define ERR_ILINK_TOO_FEW_PAIRS 656 //|Not enough photo-catalog pairs for an astrometric solution.| +#define ERR_ILINK_INVALID_SCALE 657 //|The astrometric solution returned an invalid image scale.| +#define ERR_ILINK_SOLN_QUESTIONABLE 658 //|The astrometric solution appears invalid.| +#define ERR_ILINK_RMS_POOR 659 //|The astrometric solution RMS appears invalid.| +#define ERR_ILINK_WRITING_INTERMEDIATE_FILE 660 //|Error writing intermediate astrometry file.| +#define ERR_ILINK_TOO_MANY_OBJECTS 661 //|Too many light sources were found in the photo, increase the Source Extraction Setup's Detection threshold setting (Setup tab).| +#define ERR_ILINK_REQUIRED 662 //|This operation requires a successful Image Link and one has not been performed.| + + +#define ERR_SKIPIMAGE 700 //|Skip image error.| +#define ERR_BADFORMAT 701 //|Unrecognized or bad file format.| +#define ERR_OPENINGFILE 702 //|Unable to open file.| +#define ERR_FEATURENAINLEVEL 703 //|This edition does not support the requested feature.| +#define ERR_SOCKETEXCEPTION 704 //|An error occurred during a network call.| +#define ERR_CANTCREATETHREAD 705 //|Unable to create a new thread.| + + +#define ERR_F_DOESNOTEXIST 709 //|The file or folder does not exist.| +#define ERR_F_ACCESS_WRITE 707 //|Access denied. You do not have write access to the file or folder or item.| +#define ERR_F_ACCESS_READ 706 //|Access denied. You do not have read access to the file or folder or item.| +#define ERR_F_ACCESS_RW 708 //|Access denied. You do not have read/write access to the file or folder or item.| + + +#define ERR_OPENGL_NOT_COMPAT 711 //|A newer version of OpenGL is required to run this application.| + + +#define ERR_CHANGE_PASSWORD 730 //|You are required to change your password before you can access this site.| +#define ERR_OP_REQUIRES_OPENGL 732 //|This feature requires hardware 3D acceleration.

Click here for a list of recommended video cards.

| +#define ERR_INDEX_OUT_OF_RANGE 733 //|The index is out of range.| +#define ERR_TRIAL_EXPIRED 734 //|The trial period has expired.| +#define ERR_INVALID_SNUM 735 //|Invalid serial number.| +#define ERR_OP_REQUIRES_OPENGL2PLUS 736 //|This feature requires advanced capabilities of OpenGL 2.0 or later.

Go to Preferences, Advanced tab (on Mac, TheSkyX Menu, on Windows Tools Menu) and enable 'OpenGL 2 Plus Features' to see if it works with your video card hardware.

Warning, your video card might not be capable of this feature.


Click here for a list of recommended video cards. | +#define ERR_BADWEATHER 737 //|Bad weather prohibits this operation.| +#define ERR_WEATHERSTATION_NOT_READY1 738 //|The weather station is not connected.| +#define ERR_WEATHERSTATION_NOT_READY2 739 //|The weather station is still initializing.| +#define ERR_WEATHERSTATION_NOT_READY3 740 //|Communication with the weather station is poor or lost.| +#define ERR_WEATHERSTATION_NOT_READY4 741 //|The weather station is in an unknown state.| + + +#define ERR_SGSTARBRTDOWN50 800 //|Self-guide star brightness down 50%.| +#define ERR_SGNEXT 801 //|Self-guide next error.| +#define ERR_SGNEXT2 802 //|Self-guide next two error.| + + +#define ERR_MNCPFIRSTERROR 900 //|MNCP first error.| + + +#define ERR_MNCPLASTERROR 999 //|MNCP last error.| + + +#define ERR_AUTOSAVE 1130 //|Auto-save error.| + + +#define ERR_UPLOADNOTST6FILE 1150 //|Unable to load ST-6 file.| +#define ERR_NOHEADADJNEEDED 1151 //|No head adjustment needed.| +#define ERR_NOTCFW6A 1152 //|Not a CFW 6A.| +#define ERR_NOINTERFACE 1153 //|No interface has been selected.| +#define ERR_CAMERANOTFOUND 1154 //|Camera not found.| +#define ERR_BAUDSWITCHFAILED 1155 //|Baud switch failed.| +#define ERR_CANNOTUPLOADDARK 1156 //|Unable to upload dark frame.| +#define ERR_SKIPPINGDARK 1157 //|Skipping dark.| +#define ERR_SKIPPINGLIGHT 1158 //|Skipping light.| +#define ERR_SELFGUIDENA 1159 //|Self guide not available.| +#define ERR_TRACKLOGNA 1160 //|Tracking log not available.| +#define ERR_AOREQUIREST78 1161 //|AO not available for this camera.| +#define ERR_CALIBRATEAONOTON 1162 //|AO not calibrated.| +#define ERR_WRONGCAMERAFOUND 1163 //|A camera was detected, but it does not match the one selected.| +#define ERR_PIXEL_MATH_OPERAND 1164 //|Cannot multiply or divide the image pixels by an operand less than 0.001.| +#define ERR_IMAGE_SIZE 1165 //|Enlarged image would exceed maximum image size. Try cropping it first.| +#define ERR_CANNOT_COLORGRAB 1166 //|There is not a color filter wheel attached.| +#define ERR_WRONGCFWFOUND 1167 //|A filter wheel was detected, but it does not match the one selected.| +#define FILTERNOTFOUND 1168 //|The filter name is not valid, please correct it.| + + +#define ERR_APOGEECFGNAME 1200 //|A required initialization file was not found. Go to Camera, Setup, and press the Settings button to choose the correct file.| +#define ERR_APOGEECFGDATA 1201 //|Error in Apogee INI file.| +#define ERR_APOGEELOAD 1202 //|Error transferring APCCD.INI data to camera.| + + +#define ERR_APOGEEOPENOFFSET 1220 //|Invalid base I/O address passed to function.| +#define ERR_APOGEEOPENOFFSET1 1221 //|Register access operation error.| +#define ERR_APOGEEOPENOFFSET2 1222 //|Invalid CCD geometry.| +#define ERR_APOGEEOPENOFFSET3 1223 //|Invalid horizontal binning factor.| +#define ERR_APOGEEOPENOFFSET4 1224 //|Invalid vertical binning factor.| +#define ERR_APOGEEOPENOFFSET5 1225 //|Invalid AIC value.| +#define ERR_APOGEEOPENOFFSET6 1226 //|Invalid BIC value.| +#define ERR_APOGEEOPENOFFSET7 1227 //|Invalid line offset value.| +#define ERR_APOGEEOPENOFFSET8 1228 //|CCD controller sub-system not initialized.| +#define ERR_APOGEEOPENOFFSET9 1229 //|CCD cooler failure.| +#define ERR_APOGEEOPENOFFSET10 1230 //|Failure reading image data.| +#define ERR_APOGEEOPENOFFSET11 1231 //|Invalid buffer pointer specified.| +#define ERR_APOGEEOPENOFFSET12 1232 //|File not found or not valid.| +#define ERR_APOGEEOPENOFFSET13 1233 //|Camera configuration data is invalid.| +#define ERR_APOGEEOPENOFFSET14 1234 //|Invalid CCD handle passed to function.| +#define ERR_APOGEEOPENOFFSET15 1235 //|Invalid parameter passed to function.| + + +#define ERR_GPSTFPNOTRUNNING 1300 //|Shutter timing is enabled, but the GPSTFP application is not running.| + + +#define ERR_IMAGECALWRONGBPP 5000 //|Unable to reduce. The image being reduced doesn't have the same bits per pixel as the reduction frames.| +#define ERR_IMAGECALWRONGSIZE 5001 //|Unable to reduce. The image being reduced is larger than the reduction frames.| +#define ERR_IMAGECALWRONGBIN 5002 //|Unable to reduce. The image being reduced doesn't have the same bin mode as the reduction frames.| +#define ERR_IMAGECALWRONGSUBFRAME 5003 //|Unable to reduce. The image being reduced doesn't entirely overlap the reduction frames. Make sure the subframes overlap.| +#define ERR_IMAGECALGROUPINUSE 5004 //|Unable to proceed. The image reduction group is currently in use.| +#define ERR_IMAGECALNOSUCHGROUP 5005 //|Unable to proceed. The selected image reduction group no longer exists.| +#define ERR_IMAGECALNOFRAMES 5006 //|Unable to proceed. The selected image reduction group does not contain any reduction frames.| + + +#define ERR_WRONGBPP 5020 //|Unable to proceed. The images don't have the same bits per pixel.| +#define ERR_WRONGSIZE 5021 //|Unable to proceed. The images don't have the same dimensions.| +#define ERR_WRONGTYPE 5022 //|Unable to proceed. The images don't have the same format.| + + +#define ERR_NOIMAGESINFOLDER 5050 //|Unable to proceed. The folder doesn't contain any readable images.| +#define ERR_NOPATTERNMATCH 5051 //|The files could not be aligned. No pattern match was found.| + + +#define ERR_NOTFITS 5070 //|This operation requires a FITS file.| + + +#define ERR_KVW_NOMINIMA 6000 //|KVW_NOMINIMA.| +#define ERR_KVW_DETERMINANTZERO 6001 //|KVW_DETERMINANTZERO.| +#define ERR_KVW_DIVISIONBYZERO 6002 //|KVW_DIVISIONBYZERO.| +#define ERR_KVW_NOTENOUGHPOINTS 6003 //|KVW_NOTENOUGHPOINTS.| + + +#define ERR_AF_ERRORFIRST 7000 //|@Focus error.| +#define ERR_AF_DIVERGED 7001 //|@Focus diverged. | +#define ERR_AF_UNDERSAMPLED 7003 //|Insufficient data to measure focus, increase exposure time. | + + +#define ERR_LT_TARGET_LOST_DEC_TOO_HIGH 7500 //|Target lost, declination too high to maintain tracking.| +#define ERR_LT_TARGET_LOST_CANNOT_TRACK 7501 //|Target lost, unable to maintain tracking.| +#define ERR_LT_TARGET_LOST_BELOW_HORIZON 7502 //|Target lost, below horizon.| +#define ERR_LT_TARGET_NOT_A_SATELLITE 7503 //|Target not a satellite.| + + +#define ERR_FLICCD_E_FIRST 8000 //|ERR_FLICCD_E_FIRST| +#define ERR_FLICCD_E_NOTSUPP 8001 //|ERR_FLICCD_E_NOTSUPP| +#define ERR_FLICCD_E_INVALID_PARAMETER 8002 //|ERR_FLICCD_E_INVALID_PARAMETER| +#define ERR_FLICCD_E_INVALID_COMPORT 8003 //|ERR_FLICCD_E_INVALID_COMPORT| +#define ERR_FLICCD_E_COMPORT_ERROR 8004 //|ERR_FLICCD_E_COMPORT_ERROR| +#define ERR_FLICCD_E_FAILED_RESET 8005 //|ERR_FLICCD_E_FAILED_RESET| +#define ERR_FLICCD_E_COMMTIMEOUT 8006 //|ERR_FLICCD_E_COMMTIMEOUT| +#define ERR_FLICCD_E_BADDATA 8007 //|ERR_FLICCD_E_BADDATA| +#define ERR_FLICCD_E_NOCALIBRATE 8008 //|ERR_FLICCD_E_NOCALIBRATE| +#define ERR_FLICCD_E_DEVICE_NOT_CONFIGURED 8009 //|ERR_FLICCD_E_DEVICE_NOT_CONFIGUR| +#define ERR_FLICCD_E_COMMWRITE 8010 //|ERR_FLICCD_E_COMMWRITE| +#define ERR_FLICCD_E_INVALID_DEVICE 8011 //|ERR_FLICCD_E_INVALID_DEVICE| +#define ERR_FLICCD_E_FUNCTION_NOT_SUPPORTED 8012 //|ERR_FLICCD_E_FUNCTION_NOT_SUPPORTED| +#define ERR_FLICCD_E_BAD_BOUNDS 8013 //|ERR_FLICCD_E_BAD_BOUNDS| +#define ERR_FLICCD_E_GRABTIMEOUT 8014 //|ERR_FLICCD_E_GRABTIMEOUT| +#define ERR_FLICCD_E_TODATAHB 8015 //|ERR_FLICCD_E_TODATAHB| +#define ERR_FLICCD_E_TODATALB 8016 //|ERR_FLICCD_E_TODATALB| +#define ERR_FLICCD_E_ECPNOTREADY 8017 //|ERR_FLICCD_E_ECPNOTREADY| +#define ERR_FLICCD_E_ECPREADTIMEOUTHB 8018 //|ERR_FLICCD_E_ECPREADTIMEOUTHB| +#define ERR_FLICCD_E_ECPREADTIMEOUTLB 8019 //|ERR_FLICCD_E_ECPREADTIMEOUTLB| +#define ERR_FLICCD_E_ECPREADTIMEOUT 8020 //|ERR_FLICCD_E_ECPREADTIMEOUT| +#define ERR_FLICCD_E_ECPREVERSETIMEOUT 8021 //|ERR_FLICCD_E_ECPREVERSETIMEOUT| +#define ERR_FLICCD_E_ECPWRITETIMEOUTHB 8022 //|ERR_FLICCD_E_ECPWRITETIMEOUTHB| +#define ERR_FLICCD_E_ECPWRITETIMEOUTLB 8023 //|ERR_FLICCD_E_ECPWRITETIMEOUTLB| +#define ERR_FLICCD_E_ECPWRITETIMEOUT 8024 //|ERR_FLICCD_E_ECPWRITETIMEOUT| +#define ERR_FLICCD_E_FORWARDTIMEOUT 8025 //|ERR_FLICCD_E_FORWARDTIMEOUT| +#define ERR_FLICCD_E_NOTECP 8026 //|ERR_FLICCD_E_NOTECP| +#define ERR_FLICCD_E_FUNCTIONNOTSUPP 8027 //|ERR_FLICCD_E_FUNCTIONNOTSUPP| +#define ERR_FLICCD_E_NODEVICES 8028 //|ERR_FLICCD_E_NODEVICES| +#define ERR_FLICCD_E_WRONGOS 8029 //|ERR_FLICCD_E_WRONGOS| +#define ERR_TEMMA_RAERROR 8030 //|Slew/sync error: Temma reports the right ascension is incorrect for go to or synchronization.| +#define ERR_TEMMA_DECERROR 8031 //|Slew/sync error: Temma reports the declination is incorrect for go to or synchronization.| +#define ERR_TEMMA_TOOMANYDIGITS 8032 //|Slew/sync error: Temma reports the format error for go to or synchronization.| +#define ERR_TEMMA_BELOWHORIZON 8033 //|Slew/sync error: Temma reports the object is below the horizon.| +#define ERR_TEMMA_STANDBYMODE 8034 //|Slew error: Temma reports the mount is in standby mode.| + + +#define ERR_ACLUNDEFINEDERR 1 //|ACL undefined error.| +#define ERR_ACLSYNTAX 2 //|ACL syntax error.| + + +#define ERR_ACLTYPEMISMATCH 10 //|ACL type mismatch error.| +#define ERR_ACLRANGE 11 //|ACL range error.| +#define ERR_ACLVALREADONLY 12 //|ACL value is read only.| +#define ERR_ACLCMDUNSUPPORTED 13 //|ACL command is unsupported.| +#define ERR_ACLUNSUPPORTID 14 //|ACL unsupported id.| +#define ERR_ACLCMDINACTIVE 15 //|ACL command inactive.| + + +#define ERR_ACLGOTOILLEGAL 100 //|ACL illegal go to command.| +#define ERR_ACLGOTOBELOWHRZ 101 //|ACL error: destination is below the horizon.| +#define ERR_ACLGOTOLIMITS 102 //|ACL go to limit.| + + +#define ERR_NOT_IMPL 11000 //|This command is not supported.| +#define ERR_NOT_IMPL_IN_MODEL 11001 //|This command is not implemented in the model.| +#define ERR_OPENING_FOVI_FILES 11002 //|One of the Field of View Indicator database files cannot be found. (Abnormal installation.)| +#define ERR_NO_IRIDIUM_SATELLITES 11003 //|No Iridium satellite two-line elements are currently loaded.| +#define ERR_ACCESS_DENIED 11004 //|Access is denied. Check your username and or password.| +#define ERR_ALL_TLES_DATE_REJECTED 11005 //|All TLEs were date rejected, so no satellites will be loaded. Check the date of the TLEs and make sure TheSkyX's date is within 45 days of this date.| + + +#define ERR_SBSCODEBASE 1000 //|Base offset for creating wire safe scodes| + + +#define ERR_SBIGST7FIRST 30000 //|SBIG ST7 first error.| + + +#define ERR_SBIGCCCFWFIRST 31000 //|SBIG first cfw error.| + + +#define ENUM_ERR_CFISIOFIRST 33000 //|CFITSIO first error.| + + +#define ERR_CUSTOMAPIFIRST 1400 //|Custom api error code first.| + + +#define ERR_CUSTOMAPILAST 1499 //|Custom api error code last.| +#define ERR_IPLSUITEERR 1500 //|IPL suite error first| + + +#define ERR_GDIERR_BASE 1600 //|GDI error base| + + +#define ERR_SBIGTCEEXTFIRST 1050 //|SBIG TCE error first.| + + +#define ERR_SBIGTCEEXTLAST 1099 //|SBIG TCE error last.| +#define ERR_SBIGSERIALFIRST 1100 //|SBIG serial error first.| + + +#define ERR_SBIGSERIALLAST 1125 //|SBIG serial error last.| + + +#define ERR_MKS_ERROR_FIRST 20000 //|MKS first error.| + + +#define ERR_MKS_ERROR_LAST 25000 //|MKS last error.| + + +#define ERR_SOCKET_ERROR_FIRST 27000 //|Socket first error.| + + +#define ERR_SOCKET_ERROR_LAST 27100 //|Socket last error.| + + +#define ERR_MKS_COMM_BASE 21000 //|COMM_BASE.| +#define ERR_MKS_COMM_OKPACKET 21000 //|COMM_OKPACKET.| +#define ERR_MKS_COMM_NOPACKET 21001 //|Serial command packet not included with command. COMM_NOPACKET.| +#define ERR_MKS_COMM_TIMEOUT 21002 //|Receive time-out.COMM_TIMEOUT.| +#define ERR_MKS_COMM_COMMERROR 21003 //|Serial communication error. COMM_COMMERROR.| +#define ERR_MKS_COMM_BADCHAR 21004 //|Invalid serial command error. COMM_BADCHAR.| +#define ERR_MKS_COMM_OVERRUN 21005 //|Packet overrun error. COMM_OVERRUN.| +#define ERR_MKS_COMM_BADCHECKSUM 21006 //|Bad checksum error. COMM_BADCHECKSU.| +#define ERR_MKS_COMM_BADLEN 21007 //|Invalid length of serial command error. COMM_BADLEN.| +#define ERR_MKS_COMM_BADCOMMAND 21008 //|Invalid serial command error. COMM_BADCOMMAND.| +#define ERR_MKS_COMM_INITFAIL 21009 //|Could not open communications port. The port is either in use by another application or not recognized by the system. COMM_INITFAIL| +#define ERR_MKS_COMM_NACK 21010 //|No acknowledgement of command from device. COMM_NACK.| +#define ERR_MKS_COMM_BADID 21011 //|Invalid identifier. COMM_BADID.| +#define ERR_MKS_COMM_BADSEQ 21012 //|Invalid command sequence. COMM_BADSEQ.| +#define ERR_MKS_COMM_BADVALCODE 21013 //|Invalid command code. COMM_BADVALCODE.| + + +#define ERR_MKS_MAIN_BASE 22000 //|MAIN_BASE.| +#define ERR_MKS_MAIN_WRONG_UNIT 22001 //|MAIN_WRONG_UNIT.| +#define ERR_MKS_MAIN_BADMOTORINIT 22002 //|MAIN_BADMOTORINIT.| +#define ERR_MKS_MAIN_BADMOTORSTATE 22003 //|Unable to slew because the mount has not been homed. Click Telescope, Options, Find Home to home the mount.| +#define ERR_MKS_MAIN_BADSERVOSTATE 22004 //|Indexing before finding switch 1.| +#define ERR_MKS_MAIN_SERVOBUSY 22005 //|Indexing before finding switch 2.| +#define ERR_MKS_MAIN_BAD_PEC_LENGTH 22006 //|Invalid length of PEC table. MAIN_BAD_PEC_LENGTH.| +#define ERR_MKS_MAIN_AT_LIMIT 22007 //|The mount is at a minimum or maximum position limit and cannot be slewed. This error may be the result of improper synchronization near the meridian. When syncing near the meridian, be sure the optical tube assembly and the synchronization star are on opposite sides of the meridian.| +#define ERR_MKS_MAIN_NOT_HOMED 22008 //|Mount has not been homed. Click Telescope, Options, Find Home to home the mount.| +#define ERR_MKS_MAIN_BAD_POINT_ADD 22009 //|Object-Tracking point error.| +#define ERR_MKS_MAIN_INVALID_PEC 22010 //|The PEC table is invalid.| +#define ERR_MKS_SLEW_PAST_LIMIT 22011 //|The slew is not possible because the target is beyond a slew limit.Slew limits prevent the mount from colliding with the pier and or encountering a physical hard stop. In other words, a target beyond a slew limit is mechanically unreachable.| + + +#define ERR_MKS_MAIN_BAD_CONTROL_CODE 22020 //|MKS4000: Command-code is invalid.| +#define ERR_MKS_MAIN_BAD_SYSTEM_ID 22021 //|Unknown system type (not an MKS 3000 or MKS 4000)| + + +#define ERR_MKS_FLASH_BASE 23000 //|FLASH_BASE.| +#define ERR_MKS_FLASH_PROGERR 23001 //|FLASH_PROGERR.| +#define ERR_MKS_FLASH_ERASEERR 23002 //|FLASH_ERASEERR.| +#define ERR_MKS_FLASH_TIMEOUT 23003 //|FLASH_TIMEOUT.| +#define ERR_MKS_FLASH_CANT_OPEN_FILE 23004 //|FLASH_CANT_OPEN_FILE.| +#define ERR_MKS_FLASH_BAD_FILE 23005 //|FLASH_BAD_FILE.| +#define ERR_MKS_FLASH_FILE_READ_ERR 23006 //|FLASH_FILE_READ_ERR.| +#define ERR_MKS_FLASH_BADVALID 23007 //|FLASH_BADVALID.| +#define ERR_MKS_FLASH_INVALID_SECTION 23008 //|MKS4000: Invalid FLASH section.| +#define ERR_MKS_FLASH_INVALID_ADDRESS 23009 //|MKS4000: Invalid FLASH address.| + + +#define ERR_MKS_MOTOR_BASE 24000 //|MOTOR_BASE.| +#define ERR_MKS_MOTOR_OK 24000 //|MOTOR_OK.| +#define ERR_MKS_MOTOR_OVERCURRENT 24001 //|MOTOR_OVERCURRENT.| +#define ERR_MKS_MOTOR_POSERRORLIM 24002 //|The mount cannot slew. See the list of likely reasons below.

To recover, turn the mount off, wait a few moments and then turn the mount back on.

Possible Reasons In Order of LikelihoodSolution
1. The mount payload is too far out of balance.Carefully balance the payload.
2. A transport lock knob is in the lock position.Unlock the transport lock knob(s).
3. The mount has encountered a physical obstacle.Move the obstacle.
4. You've recently added through the mount cabling.Make sure you did not accidentally unplug an internal mount cable. Also make sure the added cabling is not binding a mount axis from rotating.
5. The worm block cam adjustment has been adjusted recently and it is too tight.See the tehnical article on adjusting the worm block.
6. The ambient temperature is near or below freezing.Lower mount speed/acceleration.


| +#define ERR_MKS_MOTOR_STILL_ON 24003 //|Motor still on but command needs it stopped.| +#define ERR_MKS_MOTOR_NOT_ON 24004 //|Motor off.| +#define ERR_MKS_MOTOR_STILL_MOVING 24005 //|Motor still slewing but command needs it stopped.| +#define ERR_MKS_MOTOR_FIELD_TIMEOUT 24006 //|Timed out while fielding.| +#define ERR_MKS_MOTOR_BAD_CONTROL_STATE 24007 //|MOTOR_BAD_CONTROL_STATE.| +#define ERR_MKS_MOTOR_BAD_SERVO_STATE 24005 //|MOTOR_BAD_SERVO_STATE.| + + +#define ERR_GEMINI_OBJECT_BELOW_HORIZON 275 //|Gemini - Object below the horizon.| +#define ERR_GEMINI_NO_OBJECT_SELECTED 276 //|Gemini - No object selected.| +#define ERR_GEMINI_MANUAL_CONTROL 277 //|Gemini - Hand paddle is in manual control mode or the Prevent Slews option is turned on.| +#define ERR_GEMINI_POSITION_UNREACHABLE 278 //|Gemini - Position is unreachable.| +#define ERR_GEMINI_NOT_ALIGNED 279 //|Gemini - Gemini not aligned.| +#define ERR_GEMINI_OUTSIDE_LIMITS 280 //|Gemini - Outside slew limits.| +#define ERR_GEMINI_VERSION_NOT_SUPPORTED 281 //|Gemini - Version 4 or later is required. Please update your Gemini firmware.| + + +#define ERR_VIXEN_UNKNOWN 290 //|Star Book - Unknown error accessing mount.| +#define ERR_VIXEN_URLNOTSET 291 //|Star Book - The specified URL appears to be invalid.| +#define ERR_VIXEN_STATUSINVALID 292 //|Star Book - No or invalid data received.| +#define ERR_VIXEN_STATUSNOTAVAILABLE 293 //|Star Book - Error reading mount status.| +#define ERR_VIXEN_ILLEGALSTATE 294 //|Star Book - Mount in wrong state to accept this command.| +#define ERR_VIXEN_SETRADECERROR 295 //|Star Book - Error when trying to set RA/Dec. Make sure the new alignment object is more than 10 degrees from the previous alignment object.| +#define ERR_VIXEN_INVALIDFORMAT 296 //|Star Book - Command incorrectly formatted.| +#define ERR_VIXEN_BELOWHORIZON 297 //|Star Book - Target below the horizon.| +#define ERR_VIXEN_HOMEERROR 298 //|Star Book - Error with HOME command.| + + +#define ERR_OPEN_NV_THEME 11101 //|Error opening TheSkyX Night Vision Mode Theme. Click the Night Vision Mode Setup command on the Display menu and verify that the Night Vision Mode them file name is correct and the theme exists.| +#define ERR_OPEN_STANDARD_THEME 11102 //|Error opening the Standard Theme. Click the Night Vision Mode Setup command on the Display menu and verify that the Standard Theme file name is correct and the theme exists.| +#define ERR_INVALID_DATA 11103 //|The comet or minor planet orbital element data contains invalid data and cannot be used to display this object.| + + + +#endif // SBERRORX_H \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/serxinterface.h b/domehunter/protos/src/licensedinterfaces/serxinterface.h new file mode 100644 index 0000000..b433982 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/serxinterface.h @@ -0,0 +1,112 @@ +#ifndef _SerXInterface_ +#define _SerXInterface_ + +#define SerXInterface_Name "com.bisque.TheSkyX.staticlibs.serx.SerXInterface/1.0" + +/*! +\brief The SerXInterface is a cross-plaform serial port. + +\ingroup Tool + +The SerXInterface represents a cross-platform serial port interface passed to X2 implementors. +It provides X2 implementors an operating system agnostic way of using a serial port to hopefully make it easy to write X2 drivers for serial devices. +Tested and works on Windows, Mac, Ubuntu Linux. +Copyright (c) 2005 Software Bisque +*/ + +class SerXInterface +{ +public: + SerXInterface(){setAbortTimeout(false);} + virtual ~SerXInterface(){} + + /*! Parity */ + enum Parity + { + B_NOPARITY, /**< No parity */ + B_ODDPARITY, /**< Odd parity */ + B_EVENPARITY, /**< Even parity */ + B_MARKPARITY, /**< Mark parity */ + B_SPACEPARITY /**< Space parity */ + }; + +public: + /*! Open the port. + \param pszPort is a string specifiing the name of the port to open. + \param dwBaudRate is optional baud rate that defaults to 9600. + \param parity is the optional parity that defaults to no parity. + \param pszSession can be used to set the data bits to something other than the default, 8 data bits. This is new to TheSkyX 10.1.11 (technically, build 4635 and later). + For example, if pszSession = "-Databits 7", data bits will be set to 7 on the serial port. + This argument can also be used to set the DTR, for example "-DTR_CONTROL 1" will cause DTR to be on. + */ + virtual int open(const char * pszPort, + const unsigned long & dwBaudRate = 9600, + const Parity & parity = B_NOPARITY, + const char * pszSession = 0) = 0; + + /*! Close the port.*/ + virtual int close() = 0; + + /*! Returns non zero if the port is connected (open) or zero if not connected. */ + virtual bool isConnected(void) const = 0; + + /*! Force the OS to push the transmit packet out the port + in case the operating system buffer's writes.*/ + virtual int flushTx(void) = 0; + + /*! Purge both send and receive queues.*/ + virtual int purgeTxRx(void) = 0; + + /*! Wait for nNumber of bytes to appear in the receive port or timeout. + \param nNumber number of bytes. + \param nTimeOutMilli timeout in to wait in milliseconds. + */ + virtual int waitForBytesRx(const int& nNumber, + const int& nTimeOutMilli) = 0; + + /*! Read dwTot bytes from the receive port, or timeout. + \param lpBuf pointer to the data. + \param dwTot the total number of bytes to read. + \param dwRed (sic) the total number of bytes actually read. + + */ + virtual int readFile(void* lpBuf, + const unsigned long dwTot, + unsigned long& dwRed, + const unsigned long& dwTimeOut = 1000) = 0; + + /*! Write dwTot bytes out the transmit port. + \param lpBuf pointer to the data. + \param dwTot the total number of bytes to write. + \param dwRote (sic) the total number of bytes actually written. + */ + virtual int writeFile(void* lpBuf, + const unsigned long& dwTot, + unsigned long& dwRote) = 0; + + /*! Returns the number bytes in the receive port. */ + virtual int bytesWaitingRx(int &nBytesWaiting) = 0; + + /*! + Software Bisque only. For operations that may time out (WaitForBytesRx and ReadFile) + calling abortTimeout will cause these operations to quickly return ERR_ABORTEDPROCESS + instead of having to wait for them to time out. + Implementation of timeout operations intially set this flag to false so clients don't have that responsibility + */ + virtual void abortTimeout(){setAbortTimeout(true);} + /*! + Software Bisque only. + */ + virtual bool didAbortTimeout() const {return m_bAbortTimeout;} + /*! + Software Bisque only. + */ + virtual void setAbortTimeout(const bool& bYes) {m_bAbortTimeout=bYes;} + +private: + bool m_bAbortTimeout; +}; + +#endif // _SerXInterface_ + +//Linux wants a 'newline' at the end of every source file - don't delete the one after this line \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/sleeperinterface.h b/domehunter/protos/src/licensedinterfaces/sleeperinterface.h new file mode 100644 index 0000000..4d0f9e1 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/sleeperinterface.h @@ -0,0 +1,23 @@ +#ifndef _SleeperInterface_H +#define _SleeperInterface_H + +#define SleeperInterface_Name "com.bisque.TheSkyX.Components.SleeperInterface/1.0" + +/*! +\brief The SleeperInterface is a cross-platform "sleeper". + +\ingroup Tool + +The SleeperInterface provides X2 implementors an operating system agnostic way to enter an efficient sleep state. +Tested and works on Windows, Mac, Ubuntu Linux. +*/ +class SleeperInterface +{ +public: + virtual ~SleeperInterface(){}; + /*!Enter an efficient wait state for n milliseconds*/ + virtual void sleep(const int& milliSecondsToSleep) = 0; +}; + +#endif +//Linux wants a 'newline' at the end of every source file - don't delete the one after this line diff --git a/domehunter/protos/src/licensedinterfaces/theskyxfacadefordriversinterface.h b/domehunter/protos/src/licensedinterfaces/theskyxfacadefordriversinterface.h new file mode 100644 index 0000000..09d4406 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/theskyxfacadefordriversinterface.h @@ -0,0 +1,84 @@ +#ifndef _TheSkyXFacadeForDriversInterface_H +#define _TheSkyXFacadeForDriversInterface_H + +#define TheSkyXFacadeForDriversInterface_Name "com.bisque.TheSkyX.Components.TheSkyXFacadeForDriversInterface/1.0" + +class BasicStringInterface; + +/*! +\brief The TheSkyXFacadeForDriversInterface is a simplified interface to TheSkyX passed to X2 implementors. + +\ingroup Tool + +The TheSkyXFacadeForDriversInterface provides X2 implementors a way to get sometimes necessary information back from TheSkyX. +Tested and works on Windows, Mac, Ubuntu Linux. + +*/ + +class TheSkyXFacadeForDriversInterface +{ +public: + + virtual ~TheSkyXFacadeForDriversInterface(){} + + /*!Software Bisque only.*/ + enum Command + { + CURRENT_TARGET =100, + GET_X2UI =101, + UNGET_X2UI =102, + }; + +//Properties +public: + /*!Returns the version of TheSkyX as a string.*/ + virtual void version(char* pszOut, const int& nOutMaxSize) const=0; + /*!Returns the build number of TheSkyX. With every committed change to TheSkyX the build is incremented by one. + Optional interfaces may perodically be added to TheSky and when they are the build number is provided in the respective documentation. + If your driver requires an optional interface that is only available after a given build, you can use the build() to react by either requiring a certian minimum build or gracefully degrading functionality. + */ + virtual int build() const =0; + + /*!Returns the TheSkyX's latitude.*/ + virtual double latitude() const=0; + /*!Returns the TheSkyX's longitude.*/ + virtual double longitude() const=0; + /*!Returns the TheSkyX's time zone.*/ + virtual double timeZone() const=0; + /*!Returns the TheSkyX's elevation.*/ + virtual double elevation() const=0; + +//Methods + /*!Returns the TheSkyX's julian date.*/ + virtual double julianDate() const =0; + /*!Returns the TheSkyX's local sidereal time (lst).*/ + virtual double lst() const =0; + /*!Returns the TheSkyX's hour angle.*/ + virtual double hourAngle(const double& dRAIn) const =0; + /*!Returns the TheSkyX's local time.*/ + virtual int localDateTime(int& yy, int& mm, int& dd, int& h, int& min, double& sec, int& nIsDST) const =0; + + /*!Returns the TheSkyX's universal time in ISO8601 format.*/ + virtual int utInISO8601(char* pszOut, const int& nOutMaxSize) const=0; + /*!Returns the TheSkyX's local time as a string.*/ + virtual int localDateTime(char* pszOut, const int& nOutMaxSize) const=0; + + /*!Remove the effects of atmospheric refraction for the given equatorial coordinates.*/ + virtual int removeRefraction(double& dRa, double& dDec) const=0; + /*!Add in the effects of atmospheric refraction for the given topocentric, equatorial coordinates.*/ + virtual int addRefraction(double& dRa, double& dDec) const=0; + + /*!Convert a topocentric coordinate to equinox 2000.*/ + virtual int EqNowToJ2K(double& dRa, double& dDec) const=0; + /*!Convert a equatorial coordinate to horizon based coordinate.*/ + virtual int EqToHz(const double& dRa, const double& dDec, double& dAz, double& dAlt) const=0; + /*!Convert a horizon based coordinate to equatorial coordinate.*/ + virtual int HzToEq(const double& dAz, const double& dAlt, double& dRa, double& dDec) const=0; + + /*!Software Bisque only.*/ + virtual void pathToWriteConfigFilesTo(char* pszOut, const int& nOutMaxSize) const=0; + /*!Software Bisque only.*/ + virtual int doCommand(const int& command, void* pIn, void* pOut) const=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/src/licensedinterfaces/tickcountinterface.h b/domehunter/protos/src/licensedinterfaces/tickcountinterface.h new file mode 100644 index 0000000..3117837 --- /dev/null +++ b/domehunter/protos/src/licensedinterfaces/tickcountinterface.h @@ -0,0 +1,30 @@ +#ifndef _TickCountInterface_H_ +#define _TickCountInterface_H_ + +#define TickCountInterface_Name "com.bisque.TheSkyX.Components.TickCountInterface/1.0" + +/*! +\brief The TickCountInterface is a cross-platform way to measure relative timing. + +\ingroup Tool + +The TickCountInterface is a cross-platform timing interface passed to X2 implementors. +Useful for measuring relative timing. +Tested and works on Windows, Mac, Ubuntu Linux. +*/ + +class TickCountInterface +{ +public: + virtual ~TickCountInterface(){}; + +public: + + /*!Returns the number of milliseconds that have elapsed since TheSkyX started.*/ + virtual int elapsed()=0; + +}; + +#endif + +//Linux wants a 'newline' at the end of every source file - don't delete the one after this line diff --git a/domehunter/protos/src/main.cpp b/domehunter/protos/src/main.cpp new file mode 100644 index 0000000..51c7d1d --- /dev/null +++ b/domehunter/protos/src/main.cpp @@ -0,0 +1,52 @@ +#include +#include "licensedinterfaces/basicstringinterface.h" +#include "main.h" +#include "x2dome.h" + +#include +#include +#include + +#include + +#include "hx2dome.grpc.pb.h" + +#define PLUGIN_NAME "X2Dome HuntsmanDome" + +extern "C" PlugInExport int sbPlugInName2(BasicStringInterface& str) +{ + str = PLUGIN_NAME; + + return 0; +} + +extern "C" PlugInExport int sbPlugInFactory2( const char* pszSelection, + const int& nInstanceIndex, + SerXInterface * pSerXIn, + TheSkyXFacadeForDriversInterface* pTheSkyXIn, + SleeperInterface * pSleeperIn, + BasicIniUtilInterface * pIniUtilIn, + LoggerInterface * pLoggerIn, + MutexInterface * pIOMutexIn, + TickCountInterface * pTickCountIn, + void** ppObjectOut) +{ + *ppObjectOut = NULL; + X2Dome* gpMyImpl=NULL; + + if (NULL == gpMyImpl) + gpMyImpl = new X2Dome( pszSelection, + nInstanceIndex, + pSerXIn, + pTheSkyXIn, + pSleeperIn, + pIniUtilIn, + pLoggerIn, + pIOMutexIn, + pTickCountIn, + grpc::CreateChannel("localhost:50051", grpc::InsecureChannelCredentials()) ); + + *ppObjectOut = gpMyImpl; + + return 0; +} diff --git a/domehunter/protos/src/main.h b/domehunter/protos/src/main.h new file mode 100644 index 0000000..bcfae92 --- /dev/null +++ b/domehunter/protos/src/main.h @@ -0,0 +1,27 @@ +#ifdef SB_WIN_BUILD + #define PlugInExport __declspec(dllexport) +#else + #define PlugInExport +#endif + +class SerXInterface; +class TheSkyXFacadeForDriversInterface; +class SleeperInterface; +class BasicIniUtilInterface; +class LoggerInterface; +class MutexInterface; +class TickCountInterface; + + +extern "C" PlugInExport int sbPlugInDisplayName(BasicStringInterface& str); + +extern "C" PlugInExport int sbPlugInFactory( const char* pszSelection, + const int& nInstanceIndex, + SerXInterface * pSerXIn, + TheSkyXFacadeForDriversInterface* pTheSkyXIn, + SleeperInterface * pSleeperIn, + BasicIniUtilInterface * pIniUtilIn, + LoggerInterface * pLoggerIn, + MutexInterface * pIOMutexIn, + TickCountInterface * pTickCountIn, + void** ppObjectOut); \ No newline at end of file diff --git a/domehunter/protos/src/x2dome.cpp b/domehunter/protos/src/x2dome.cpp new file mode 100644 index 0000000..9042760 --- /dev/null +++ b/domehunter/protos/src/x2dome.cpp @@ -0,0 +1,310 @@ +#include +#include +#include "x2dome.h" + +#include "licensedinterfaces/sberrorx.h" +#include "licensedinterfaces/basicstringinterface.h" +#include "licensedinterfaces/basiciniutilinterface.h" +#include "licensedinterfaces/theskyxfacadefordriversinterface.h" +#include "licensedinterfaces/sleeperinterface.h" +#include "licensedinterfaces/loggerinterface.h" +#include "licensedinterfaces/basiciniutilinterface.h" +#include "licensedinterfaces/mutexinterface.h" + +// may not actually need these +#include "licensedinterfaces/serxinterface.h" +#include "licensedinterfaces/tickcountinterface.h" + +X2Dome::~X2Dome() +{ + if (m_pSerX) + delete m_pSerX; + if (m_pTheSkyXForMounts) + delete m_pTheSkyXForMounts; + if (m_pSleeper) + delete m_pSleeper; + if (m_pIniUtil) + delete m_pIniUtil; + if (m_pLogger) + delete m_pLogger; + if (m_pIOMutex) + delete m_pIOMutex; + if (m_pTickCount) + delete m_pTickCount; + // if(m_pGRPCstub) + // m_pGRPCstub=NULL; +} + +// The link is initialised same time as the X2Dome object is in main... +// at the moment this function is more of a "confirmLink" but TheSkyX needs this to work(?) +int X2Dome::establishLink(void) +{ + int rc(1); + double a(10); + double e(20); + + AzEl request; + request.set_return_code(rc); + request.set_az(a); + request.set_el(e); + ReturnCode reply; + ClientContext context; + + std::cout << "HX2Dome sending: " << rc << std::endl; + if (m_pLogger) + { + std::string logmessage; + logmessage = "X2Dome::establishLink...\n Message to GRPC server: " + std::to_string(rc); + m_pLogger->out( (logmessage).c_str() ); + } + + Status status = m_pGRPCstub->dapiGotoAzEl(&context, request, &reply); + + if (status.ok()) + { + std::cout << "HX2Dome receiving: " << reply.return_code() << std::endl; + if (m_pLogger) + { + std::string logreply; + logreply = "X2Dome::establishLink... succesful.\n Message from GRPC server: " + std::to_string(reply.return_code()); + m_pLogger->out( (logreply).c_str() ); + } + + m_bLinked = true; + // return reply.return_code(); + return SB_OK; + } + else + { + return ERR_COMMNOLINK; + } +} + +int X2Dome::terminateLink(void) +{ + if (m_pLogger) + m_pLogger->out("X2Dome::ttterminateLink"); + + m_bLinked = false; + return SB_OK; +} + + bool X2Dome::isLinked(void) const +{ + return m_bLinked; +} + +int X2Dome::queryAbstraction(const char* pszName, void** ppVal) +{ + *ppVal = NULL; + + //Add support for the optional LoggerInterface + if (!strcmp(pszName, LoggerInterface_Name)) + *ppVal = GetLogger(); + + return SB_OK; +} + +//HardwareInfoInterface +void X2Dome::deviceInfoNameShort(BasicStringInterface& str) const +{ + str = "HuntsmanDome"; +} + +void X2Dome::deviceInfoNameLong(BasicStringInterface& str) const +{ + str = "Huntsman Telescope Dome Controller"; +} + +void X2Dome::deviceInfoDetailedDescription(BasicStringInterface& str) const +{ + str = "Huntsman Telescope Dome Controller"; +} + + void X2Dome::deviceInfoFirmwareVersion(BasicStringInterface& str) +{ + X2MutexLocker ml(GetMutex()); + if(m_bLinked) { + str = "1"; + } + else + str = "N/A"; + } + +void X2Dome::deviceInfoModel(BasicStringInterface& str) +{ + X2MutexLocker ml(GetMutex()); + if(m_bLinked) { + str = "1"; + } + else + str = "N/A"; +} + +//DriverInfoInterface + void X2Dome::driverInfoDetailedInfo(BasicStringInterface& str) const +{ + str = "Send help."; +} + +double X2Dome::driverInfoVersion(void) const +{ + return DRIVER_VERSION; +} + + +//DomeDriverInterface +int X2Dome::dapiGetAzEl(double* pdAz, double* pdEl) +{ + X2MutexLocker ml(GetMutex()); + if(!m_bLinked) + return ERR_NOLINK; + + Empty request; + AzEl reply; + ClientContext context; + + // std::cout << "HX2Dome sending: " << << std::endl; + if (m_pLogger) + { + std::string logmessage; + logmessage = "X2Dome::dapiGetAzEl"; + m_pLogger->out( (logmessage).c_str() ); + } + + Status status = m_pGRPCstub->dapiGetAzEl(&context, request, &reply); + + if(status.ok()) + { + *pdAz = reply.az(); + *pdEl = reply.el(); + + // std::cout << "HX2Dome receiving: " << << std::endl; + if(m_pLogger) + { + std::string logreply; + logreply = "X2Dome::dapiGetAzEl... succesful.\n Message from GRPC server: Az=" + std::to_string(reply.az()) + ", El=" + std::to_string(reply.el()); + m_pLogger->out( (logreply).c_str() ); + } + return SB_OK; + } + else + { + return ERR_CMDFAILED; + } +} + +int X2Dome::dapiGotoAzEl(double dAz, double dEl) +{ + X2MutexLocker ml(GetMutex()); + if(!m_bLinked) + return ERR_NOLINK; + + int rc(1); + AzEl request; + request.set_return_code(rc); + request.set_az(dAz); + request.set_el(dEl); + ReturnCode reply; + ClientContext context; + + // std::cout << "HX2Dome sending: " << << std::endl; + if (m_pLogger) + { + std::string logmessage; + logmessage = "X2Dome::dapiGotoAzEl"; + m_pLogger->out( (logmessage).c_str() ); + } + + Status status = m_pGRPCstub->dapiGotoAzEl(&context, request, &reply); + + if(status.ok()) + { + // std::cout << "HX2Dome receiving: " << << std::endl; + if(m_pLogger) + { + std::string logreply; + logreply = "X2Dome::dapiGotoAzEl... succesful.\n Message from GRPC server: return code=" + std::to_string(reply.return_code()); + m_pLogger->out( (logreply).c_str() ); + } + // return reply.return_code(); + return SB_OK; + } + else + { + return ERR_CMDFAILED; + } +} + +int X2Dome::dapiAbort(void) +{ + return SB_OK; +} + +int X2Dome::dapiOpen(void) +{ + return SB_OK; +} + +int X2Dome::dapiClose(void) +{ + return SB_OK; +} + +int X2Dome::dapiPark(void) +{ + return SB_OK; +} + +int X2Dome::dapiUnpark(void) +{ + return SB_OK; +} + +int X2Dome::dapiFindHome(void) +{ + return SB_OK; +} + +int X2Dome::dapiIsGotoComplete(bool* pbComplete) +{ + (void)pbComplete; + return SB_OK; +} + +int X2Dome::dapiIsOpenComplete(bool* pbComplete) +{ + (void)pbComplete; + return SB_OK; +} + +int X2Dome::dapiIsCloseComplete(bool* pbComplete) +{ + (void)pbComplete; + return SB_OK; +} + +int X2Dome::dapiIsParkComplete(bool* pbComplete) +{ + (void)pbComplete; + return SB_OK; +} + +int X2Dome::dapiIsUnparkComplete(bool* pbComplete) +{ + (void)pbComplete; + return SB_OK; +} + +int X2Dome::dapiIsFindHomeComplete(bool* pbComplete) +{ + (void)pbComplete; + return SB_OK; +} + +int X2Dome::dapiSync(double dAz, double dEl) +{ + (void)dAz; + (void)dEl; + return SB_OK; +} diff --git a/domehunter/protos/src/x2dome.h b/domehunter/protos/src/x2dome.h new file mode 100644 index 0000000..8f3a81d --- /dev/null +++ b/domehunter/protos/src/x2dome.h @@ -0,0 +1,129 @@ +#include "licensedinterfaces/domedriverinterface.h" + +// #include "huntsmandome.h" + +#include +#include "hx2dome.grpc.pb.h" + +using grpc::Channel; +using grpc::ClientContext; +using grpc::Status; +using hx2dome::ReturnCode; +using hx2dome::AzEl; +using hx2dome::IsComplete; +using hx2dome::BasicString; +using hx2dome::HX2Dome; +using hx2dome::Empty; + + +class SerXInterface; +class TheSkyXFacadeForDriversInterface; +class SleeperInterface; +class BasicIniUtilInterface; +class LoggerInterface; +class MutexInterface; +class TickCountInterface; + +#define DRIVER_VERSION 1.0 + +class X2Dome: DomeDriverInterface +{ +public: + X2Dome( const char* pszSelection, + const int& nISIndex, + SerXInterface* pSerX, + TheSkyXFacadeForDriversInterface* pTheSkyXForMounts, + SleeperInterface* pSleeper, + BasicIniUtilInterface* pIniUtil, + LoggerInterface* pLogger, + MutexInterface* pIOMutex, + TickCountInterface* pTickCount, + std::shared_ptr channel + ) : m_pGRPCstub(HX2Dome::NewStub(channel)) + { + (void)pszSelection; + m_nPrivateISIndex = nISIndex; + m_pSerX = pSerX; + m_pTheSkyXForMounts = pTheSkyXForMounts; + m_pSleeper = pSleeper; + m_pIniUtil = pIniUtil; + m_pLogger = pLogger; + m_pIOMutex = pIOMutex; + m_pTickCount = pTickCount; + + m_bLinked = false; + }; + virtual ~X2Dome(); + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_DOME;} + virtual int queryAbstraction(const char* pszName, void** ppVal); + //@} + + /*!\name LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) ; + virtual int terminateLink(void) ; + virtual bool isLinked(void) const ; + //@} + + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const ; + virtual void deviceInfoNameLong(BasicStringInterface& str) const ; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const ; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) ; + virtual void deviceInfoModel(BasicStringInterface& str) ; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const ; + virtual double driverInfoVersion(void) const ; + //@} + + //DomeDriverInterface + virtual int dapiGetAzEl(double* pdAz, double* pdEl); + virtual int dapiGotoAzEl(double dAz, double dEl); + virtual int dapiAbort(void); + virtual int dapiOpen(void); + virtual int dapiClose(void); + virtual int dapiPark(void); + virtual int dapiUnpark(void); + virtual int dapiFindHome(void); + virtual int dapiIsGotoComplete(bool* pbComplete); + virtual int dapiIsOpenComplete(bool* pbComplete); + virtual int dapiIsCloseComplete(bool* pbComplete); + virtual int dapiIsParkComplete(bool* pbComplete); + virtual int dapiIsUnparkComplete(bool* pbComplete); + virtual int dapiIsFindHomeComplete(bool* pbComplete); + virtual int dapiSync(double dAz, double dEl); + +private: + + std::unique_ptr m_pGRPCstub; + SerXInterface * GetSerX() {return m_pSerX; } + TheSkyXFacadeForDriversInterface * GetTheSkyXFacadeForDrivers() {return m_pTheSkyXForMounts;} + SleeperInterface * GetSleeper() {return m_pSleeper; } + BasicIniUtilInterface * GetSimpleIniUtil() {return m_pIniUtil; } + LoggerInterface * GetLogger() {return m_pLogger; } + MutexInterface * GetMutex() {return m_pIOMutex;} + TickCountInterface * GetTickCountInterface() {return m_pTickCount;} + + SerXInterface * m_pSerX; + TheSkyXFacadeForDriversInterface * m_pTheSkyXForMounts; + SleeperInterface * m_pSleeper; + BasicIniUtilInterface * m_pIniUtil; + LoggerInterface * m_pLogger; + MutexInterface * m_pIOMutex; + TickCountInterface * m_pTickCount; + + int m_nPrivateISIndex; + + int m_bLinked; +};