From 36c43a797e4cefdfe41a012d0d53214b6bf726fc Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:42:53 +1000 Subject: [PATCH 01/13] Software Bisque X2Dome driver template --- .../x2/domeplugins/x2dome/.qmake.stash | 24 + .../x2/domeplugins/x2dome/Makefile | 407 ++++++++++++++ .../x2dome/TheSkyX_plugin_install.sh | 61 +++ .../x2dome/domelist ExampleX2Dome.txt | 4 + .../x2/domeplugins/x2dome/main.cpp | 44 ++ .../x2/domeplugins/x2dome/main.h | 27 + .../x2/domeplugins/x2dome/x2dome.cpp | 191 +++++++ .../x2/domeplugins/x2dome/x2dome.h | 107 ++++ .../x2/domeplugins/x2dome/x2dome.pro | 21 + .../licensedinterfaces/addfitskeyinterface.h | 51 ++ .../basiciniutilinterface.h | 45 ++ .../licensedinterfaces/basicstringinterface.h | 29 + .../cameradependentsettinginterface.h | 69 +++ .../cameradriverinterface.h | 201 +++++++ .../licensedinterfaces/deviceinfointerface.h | 34 ++ .../licensedinterfaces/domedriverinterface.h | 100 ++++ .../licensedinterfaces/driverinfointerface.h | 28 + .../licensedinterfaces/driverrootinterface.h | 51 ++ .../driverslewstoparkpositioninterface.h | 29 + .../extendedcamerainterface.h | 67 +++ .../filterwheeldriverinterface.h | 75 +++ .../filterwheelmovetointerface.h | 81 +++ .../focuser/focusergotointerface2.h | 63 +++ .../focuser/focusertemperatureinterface.h | 32 ++ .../focuserdriverinterface.h | 82 +++ .../focusergotointerface2.h | 63 +++ .../focusertemperatureinterface.h | 32 ++ .../x2/licensedinterfaces/gpsinterface.h | 41 ++ .../hardwaremodeloverride.h | 43 ++ .../x2/licensedinterfaces/linkinterface.h | 40 ++ .../x2/licensedinterfaces/loggerinterface.h | 72 +++ .../modalsettingsdialoginterface.h | 37 ++ .../mount/asymmetricalequatorialinterface.h | 195 +++++++ .../mount/linkfromuithreadinterface.h | 31 ++ .../mount/mounttypeinterface.h | 44 ++ .../mount/needsrefractioninterface.h | 42 ++ .../mount/openloopmoveinterface.h | 48 ++ .../mount/slewtointerface.h | 29 + .../mount/symmetricalequatorialinterface.h | 28 + .../mount/syncmountinterface.h | 27 + .../mount/trackingratesinterface.h | 49 ++ .../licensedinterfaces/mountdriverinterface.h | 139 +++++ .../multiconnectiondeviceinterface.h | 128 +++++ .../x2/licensedinterfaces/mutexinterface.h | 60 +++ .../licensedinterfaces/noshutterinterface.h | 34 ++ .../x2/licensedinterfaces/parkinterface.h | 35 ++ .../licensedinterfaces/pixelsizeinterface.h | 34 ++ .../preexposuretaskinterface.h | 64 +++ .../rotatordriverinterface.h | 80 +++ .../x2/licensedinterfaces/sberrorx.h | 499 ++++++++++++++++++ .../serialportparams2interface.h | 84 +++ .../x2/licensedinterfaces/serxinterface.h | 112 ++++ .../x2/licensedinterfaces/sleeperinterface.h | 23 + .../x2/licensedinterfaces/subframeinterface.h | 48 ++ .../theskyxfacadefordriversinterface.h | 84 +++ .../licensedinterfaces/tickcountinterface.h | 30 ++ .../x2/licensedinterfaces/unparkinterface.h | 34 ++ .../x2/licensedinterfaces/x2guiinterface.h | 239 +++++++++ 58 files changed, 4471 insertions(+) create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile create mode 100755 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.txt create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.h create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h create mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basiciniutilinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basicstringinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/deviceinfointerface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/domedriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverinfointerface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverrootinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/linkinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/loggerinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mutexinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sberrorx.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serxinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sleeperinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/theskyxfacadefordriversinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/tickcountinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h create mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash new file mode 100644 index 0000000..c7de993 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash @@ -0,0 +1,24 @@ +QMAKE_CXX.INCDIRS = \ + /usr/include/c++/7 \ + /usr/include/x86_64-linux-gnu/c++/7 \ + /usr/include/c++/7/backward \ + /usr/lib/gcc/x86_64-linux-gnu/7/include \ + /usr/local/include \ + /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed \ + /usr/include/x86_64-linux-gnu \ + /usr/include +QMAKE_CXX.LIBDIRS = \ + /usr/lib/gcc/x86_64-linux-gnu/7 \ + /usr/lib/x86_64-linux-gnu \ + /usr/lib \ + /lib/x86_64-linux-gnu \ + /lib +QMAKE_CXX.QT_COMPILER_STDCXX = 201402L +QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 7 +QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 4 +QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0 +QMAKE_CXX.COMPILER_MACROS = \ + QT_COMPILER_STDCXX \ + QMAKE_GCC_MAJOR_VERSION \ + QMAKE_GCC_MINOR_VERSION \ + QMAKE_GCC_PATCH_VERSION diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile new file mode 100644 index 0000000..5ede632 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile @@ -0,0 +1,407 @@ +############################################################################# +# Makefile for building: libx2dome.so.1.0.0 +# Generated by qmake (3.1) (Qt 5.9.5) +# Project: x2dome.pro +# Template: lib +# Command: /usr/lib/qt5/bin/qmake -o Makefile x2dome.pro +############################################################################# + +MAKEFILE = Makefile + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DSB_LINUX_BUILD -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES) +INCPATH = -I. -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ +QMAKE = /usr/lib/qt5/bin/qmake +DEL_FILE = rm -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p +COPY = cp -f +COPY_FILE = cp -f +COPY_DIR = cp -f -R +INSTALL_FILE = install -m 644 -p +INSTALL_PROGRAM = install -m 755 -p +INSTALL_DIR = cp -f -R +QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall +QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +TAR = tar -cf +COMPRESS = gzip -9f +DISTNAME = x2dome1.0.0 +DISTDIR = /home/fergus/Documents/REPOS/x2/domeplugins/x2dome/.tmp/x2dome1.0.0 +LINK = g++ +LFLAGS = -Wl,-O1 -shared -Wl,-soname,libx2dome.so.1 +LIBS = $(SUBLIBS) -lQt5Gui -lQt5Core -lGL -lpthread +AR = ar cqs +RANLIB = +SED = sed +STRIP = strip + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = main.cpp \ + x2dome.cpp +OBJECTS = main.o \ + x2dome.o +DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ + x2dome.pro main.h \ + x2dome.h \ + ../../licensedinterfaces/basicstringinterface.h \ + ../../licensedinterfaces/sberrorx.h main.cpp \ + x2dome.cpp +QMAKE_TARGET = x2dome +DESTDIR = +TARGET = libx2dome.so.1.0.0 +TARGETA = libx2dome.a +TARGET0 = libx2dome.so +TARGETD = libx2dome.so.1.0.0 +TARGET1 = libx2dome.so.1 +TARGET2 = libx2dome.so.1.0 + + +first: all +####### Build rules + +$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP) + -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP) + -ln -s $(TARGET) $(TARGET0) + -ln -s $(TARGET) $(TARGET1) + -ln -s $(TARGET) $(TARGET2) + + + +staticlib: $(TARGETA) + +$(TARGETA): $(OBJECTS) $(OBJCOMP) + -$(DEL_FILE) $(TARGETA) + $(AR) $(TARGETA) $(OBJECTS) + +Makefile: x2dome.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ + x2dome.pro \ + /usr/lib/x86_64-linux-gnu/libQt5Gui.prl \ + /usr/lib/x86_64-linux-gnu/libQt5Core.prl + $(QMAKE) -o Makefile x2dome.pro +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf: +x2dome.pro: +/usr/lib/x86_64-linux-gnu/libQt5Gui.prl: +/usr/lib/x86_64-linux-gnu/libQt5Core.prl: +qmake: FORCE + @$(QMAKE) -o Makefile x2dome.pro + +qmake_all: FORCE + + +all: Makefile $(TARGET) + +dist: distdir FORCE + (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR) + +distdir: FORCE + @test -d $(DISTDIR) || mkdir -p $(DISTDIR) + $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ + $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/ + $(COPY_FILE) --parents main.h x2dome.h ../../licensedinterfaces/basicstringinterface.h ../../licensedinterfaces/sberrorx.h $(DISTDIR)/ + $(COPY_FILE) --parents main.cpp x2dome.cpp $(DISTDIR)/ + + +clean: compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA) + -$(DEL_FILE) .qmake.stash + -$(DEL_FILE) Makefile + + +####### Sub-libraries + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +check: first + +benchmark: first + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_moc_predefs_make_all: moc_predefs.h +compiler_moc_predefs_clean: + -$(DEL_FILE) moc_predefs.h +moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp + g++ -pipe -O2 -Wall -W -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp + +compiler_moc_header_make_all: +compiler_moc_header_clean: +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_predefs_clean + +####### Compile + +main.o: main.cpp ../../licensedinterfaces/basicstringinterface.h \ + main.h \ + x2dome.h \ + ../../licensedinterfaces/domedriverinterface.h \ + ../../licensedinterfaces/driverrootinterface.h \ + ../../licensedinterfaces/linkinterface.h \ + ../../licensedinterfaces/deviceinfointerface.h \ + ../../licensedinterfaces/driverinfointerface.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp + +x2dome.o: x2dome.cpp x2dome.h \ + ../../licensedinterfaces/domedriverinterface.h \ + ../../licensedinterfaces/driverrootinterface.h \ + ../../licensedinterfaces/linkinterface.h \ + ../../licensedinterfaces/deviceinfointerface.h \ + ../../licensedinterfaces/driverinfointerface.h \ + ../../licensedinterfaces/sberrorx.h \ + ../../licensedinterfaces/basicstringinterface.h \ + ../../licensedinterfaces/serxinterface.h \ + ../../licensedinterfaces/basiciniutilinterface.h \ + ../../licensedinterfaces/theskyxfacadefordriversinterface.h \ + ../../licensedinterfaces/sleeperinterface.h \ + ../../licensedinterfaces/loggerinterface.h \ + ../../licensedinterfaces/mutexinterface.h \ + ../../licensedinterfaces/tickcountinterface.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o x2dome.o x2dome.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh new file mode 100755 index 0000000..32e5443 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh @@ -0,0 +1,61 @@ +#!/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 ExampleX2Dome.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" +#cp "./domepro.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +#cp "./domeprodiag.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +#cp "./domeshutter.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +#cp "./dometimeouts.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +#cp "./Astrometric.png" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +cp "./libx2dome.so" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +#cp "./libx2dome.so.1" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +#cp "./libx2dome.so.1.0" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" +#cp "./libx2dome.so.1.0.0" "$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 ExampleX2Dome.txt" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/domepro.ui" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/domeprodiag.ui" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/domeshutter.ui" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/dometimeouts.ui" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/Astrometric.png" + chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0" + #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0.0" +fi +chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so" +#chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1" +#chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0" +#chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0.0" diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.txt b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.txt new file mode 100644 index 0000000..3f8a14f --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.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|SB|SB Example Dome Controller v1| | |libx2dome||1|1|1| + diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp new file mode 100644 index 0000000..c9e23f8 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp @@ -0,0 +1,44 @@ +#include +#include "../../licensedinterfaces/basicstringinterface.h" +#include "main.h" +#include "x2dome.h" + + +#define PLUGIN_NAME "X2Dome example" + +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); + + *ppObjectOut = gpMyImpl; + + return 0; +} diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.h b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.h new file mode 100644 index 0000000..bcfae92 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/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/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp new file mode 100644 index 0000000..fb87d55 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp @@ -0,0 +1,191 @@ +#include +#include +#include "x2dome.h" +#include "../../licensedinterfaces/sberrorx.h" +#include "../../licensedinterfaces/basicstringinterface.h" +#include "../../licensedinterfaces/serxinterface.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" +#include "../../licensedinterfaces/tickcountinterface.h" + + +X2Dome::X2Dome(const char* pszSelection, + const int& nISIndex, + SerXInterface* pSerX, + TheSkyXFacadeForDriversInterface* pTheSkyXForMounts, + SleeperInterface* pSleeper, + BasicIniUtilInterface* pIniUtil, + LoggerInterface* pLogger, + MutexInterface* pIOMutex, + TickCountInterface* pTickCount) +{ + 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; +} + + +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; + +} + + +int X2Dome::establishLink(void) +{ + if (GetLogger()) + GetLogger()->out("X2Dome::establishLink"); + + m_bLinked = true; + return SB_OK; +} +int X2Dome::terminateLink(void) +{ + if (GetLogger()) + GetLogger()->out("X2Dome::terminateLink"); + + m_bLinked = false; + return SB_OK; +} + bool X2Dome::isLinked(void) const +{ + return m_bLinked; +} + +#define ADD_STR "X2Dome"; +//HardwareInfoInterface +void X2Dome::deviceInfoNameShort(BasicStringInterface& str) const +{ + str = ADD_STR +} +void X2Dome::deviceInfoNameLong(BasicStringInterface& str) const +{ + str = ADD_STR +} +void X2Dome::deviceInfoDetailedDescription(BasicStringInterface& str) const +{ + str = ADD_STR; +} + void X2Dome::deviceInfoFirmwareVersion(BasicStringInterface& str) +{ + str = ADD_STR +} +void X2Dome::deviceInfoModel(BasicStringInterface& str) +{ + str = ADD_STR +} + +//DriverInfoInterface + void X2Dome::driverInfoDetailedInfo(BasicStringInterface& str) const +{ +} +double X2Dome::driverInfoVersion(void) const +{ + return 1.0; +} + +//DomeDriverInterface +int X2Dome::dapiGetAzEl(double* pdAz, double* pdEl) +{ + if (GetLogger()) + GetLogger()->out("X2Dome::dapiGetAzEl"); + + return SB_OK; +} + +int X2Dome::dapiGotoAzEl(double dAz, double dEl) +{ + return SB_OK; +} +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) +{ + return SB_OK; +} + +int X2Dome::dapiIsOpenComplete(bool* pbComplete) +{ + return SB_OK; +} +int X2Dome::dapiIsCloseComplete(bool* pbComplete) +{ + return SB_OK; +} +int X2Dome::dapiIsParkComplete(bool* pbComplete) +{ + return SB_OK; +} +int X2Dome::dapiIsUnparkComplete(bool* pbComplete) +{ + return SB_OK; +} +int X2Dome::dapiIsFindHomeComplete(bool* pbComplete) +{ + return SB_OK; +} +int X2Dome::dapiSync(double dAz, double dEl) +{ + return SB_OK; + +} + +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; +} + diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h new file mode 100644 index 0000000..60bc1cf --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h @@ -0,0 +1,107 @@ +#include "../../licensedinterfaces/domedriverinterface.h" + +class SerXInterface; +class TheSkyXFacadeForDriversInterface; +class SleeperInterface; +class BasicIniUtilInterface; +class LoggerInterface; +class MutexInterface; +class TickCountInterface; + +/*! +\brief The X2Dome example. + +\ingroup Example + +Use this example to write an X2Dome driver. +*/ +class X2Dome: DomeDriverInterface +{ +public: + + /*!Standard X2 constructor*/ + X2Dome( const char* pszSelectionString, + const int& nISIndex, + SerXInterface* pSerX, + TheSkyXFacadeForDriversInterface* pTheSkyXForMounts, + SleeperInterface* pSleeper, + BasicIniUtilInterface* pIniUtil, + LoggerInterface* pLogger, + MutexInterface* pIOMutex, + TickCountInterface* pTickCount); + 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: + + 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; + + +}; diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro new file mode 100644 index 0000000..287b60d --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro @@ -0,0 +1,21 @@ +###################################################################### +# Automatically generated by qmake (2.01a) Mon Aug 23 13:18:26 2010 +###################################################################### + +TEMPLATE = lib +TARGET = x2dome +DEPENDPATH += . +INCLUDEPATH += . + +CONFIG += dll + +win32: DEFINES += SB_WIN_BUILD +macx: DEFINES += SB_MAC_BUILD +linux-g++: DEFINES += SB_LINUX_BUILD + +# Input +HEADERS += main.h \ + x2dome.h \ + ../../licensedinterfaces/basicstringinterface.h \ + ../../licensedinterfaces/sberrorx.h +SOURCES += main.cpp x2dome.cpp diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h new file mode 100644 index 0000000..52b68f1 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h @@ -0,0 +1,51 @@ +#ifndef _ADDFITSKETINTERFACE_H +#define _ADDFITSKETINTERFACE_H + +#define AddFITSKeyInterface_Name "com.bisque.TheSkyX.AddFITSKeyInterface/1.0" + +class BasicStringInterface; + +/*! +\brief The AddFITSKeyInterface allows camera drivers to add any number of additional FITS keys to the FITS header. + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +after every exposure is complete and if supported allows the camera to add additional information that will +be recorded in the FITS header of photos taken by TheSkyX. + +Each FITS header key must be of type integer, double, or string. TheSkyX will automatically format integer and double values +according the the FITS definition, but for string keys, it is left up to the camera driver to format correctly. +If this interface is supported, Cameras will first be queried for the number (count) of each type of FITS header key they wish to add, +after which TheSkyX will query the value for each key using a 0-based index for each type of key. + +Please note, TheSkyX automatically adds a number of FITS keys to each photo acquired and this interface does not +allow changing or overriding those keys and their values. + +TheSkyX build 8598 or later is required for this interface to work. Earlier TheSkyX builds simply ignore this interface and adding FITS key is not possible. + +See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. + +Speical note, build 8346 to 8597 this inteface was incorrectly called before the exposure started which may or may not matter depending upon the keywords being +added. + +\ingroup Interface +*/ + +class AddFITSKeyInterface +{ +public: + virtual int countOfIntegerFields(int &nCount) = 0; + virtual int valueForIntegerField(int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, int &nFieldValue) = 0; + + virtual int countOfDoubleFields (int &nCount) = 0; + virtual int valueForDoubleField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, double &dFieldValue) = 0; + + virtual int countOfStringFields (int &nCount) = 0; + virtual int valueForStringField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, BasicStringInterface &sFieldValue) = 0; + + virtual ~AddFITSKeyInterface(){} + +public: + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basiciniutilinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basiciniutilinterface.h new file mode 100644 index 0000000..01b9aea --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/basicstringinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basicstringinterface.h new file mode 100644 index 0000000..2d23cfa --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h new file mode 100644 index 0000000..b893969 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h @@ -0,0 +1,69 @@ +#ifndef _CameraDependentSettingInterface_H +#define _CameraDependentSettingInterface_H + +#define CameraDependentSettingInterface_Name "com.bisque.TheSkyX.CameraDependentSettingInterface/1.0" + +/*! +\brief The CameraDependentSettingInterface allows camera drivers to supply one open-ended, additional argument to the standard + CameraDriverInterface::CCStartExposure function. This offers camera drivers great flexibility in what the setting + does along with the available options. + +\ingroup Interface + +This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. +However, many cameras support options which may be device-specific, or are otherwise unsupported by the default implementation +of acquiring an exposure. Examples might include RBI flush, or multiple data readout modes, specialized processing, etc. + +This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to +dictate all available values or options for this argument. TheSkyX will then allow the user to select between these options when +commanding an exposure with the user interface or through scripting. + +As an example, a company named "XYZ" might use this interface to support enabling/disabling RBI: +- CCGetExtendedSettingName would return "XYZ RBI mode" +- CCGetExtendedValueCount would return 2 +- CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. +- CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. + +If an older version of TheSkyX attaches to a driver implementing this interface, the standard CCStartExposure function +will be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with +nIndex == 0. + +When an exposure is acquired when this interface is supported, the current setting (i.e. whatever option is currently selected) +is written to the FITS header under the FITS key "CDS" with the FITS comment "Camera dependent setting". + +This interface was added in TheSky build 11525. + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class CameraDependentSettingInterface +{ +public: + + virtual ~CameraDependentSettingInterface(){} + +public: + //CameraDependentSettingInterface + + /*!TheSkyX calls this function to query the human-readable name of the camera dependent setting. The string sSettingName is displayed to user as + the label next to the camera dependent setting. The setting name should be relatively short and meaningful. Avoid using an overly generic name. It is strongly + recommended that the setting name be prepended with the company initials (or company name if short), see the detailed description for a specific example. + This way scripted access has a chance to uniquely identifiy the particular camera dependent setting for use in differing contexts. This setting name should + not arbitrarily change once published since it will act as a unique identifier for scripted use of this setting. Available options should not change either, unless added to.*/ + virtual int CCGetExtendedSettingName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, BasicStringInterface &sSettingName)=0; + + /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ + virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the human-readable name of each of the possible values or options the camera dependent argument may take. + The strings returned by this function will be presented to the user for selection. */ + virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; + + /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 + and the result of CCGetExtendedValueCount - 1 */ + virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, + const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h new file mode 100644 index 0000000..3b3f1bb --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h @@ -0,0 +1,201 @@ +#if !defined(_CameraDriverInterFace_H_) +#define _CameraDriverInterFace_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" +#include "enumcameraindex.h" +#else//TheSkyX X2 Plug In Build +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +typedef enum +{ +CI_NONE, +CI_PLUGIN=10000, +CI_PLUGIN_LAST=CI_PLUGIN+50000, +} enumCameraIndex; +#endif + +//TheSkyX's camera driver interface +#define CAMAPIVERSION 6 + +typedef enum {CCD_IMAGER, CCD_GUIDER} enumWhichCCD; +typedef enum {PT_UNKNOWN, PT_LIGHT, PT_BIAS, PT_DARK, PT_FLAT, PT_AUTODARK} enumPictureType; + +//This is an exact copy of SBIG's enum +typedef enum { zDEV_NONE, zDEV_LPT1, zDEV_LPT2, zDEV_LPT3, zDEV_USB=0x7F00, zDEV_ETH, zDEV_USB1, zDEV_USB2, zDEV_USB3, zDEV_USB4 } enumLPTPort; + +/*! +\brief The CameraDriverInterface allows an X2 implementor to a write X2 camera driver. + +\ingroup Driver + +See the X2Camera for a example. +*/ +class CameraDriverInterface : public DriverRootInterface, public HardwareInfoInterface, public DriverInfoInterface +{ +//Base class start copy here + +public: + inline CameraDriverInterface() + { + m_bLinked = false; + m_Camera = CI_NONE; + } + virtual ~CameraDriverInterface(){}; + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_CAMERA;} + virtual int queryAbstraction(const char* pszName, void** ppVal) =0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; + virtual double driverInfoVersion(void) const =0; + //@} + + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const =0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const =0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const =0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) =0; + virtual void deviceInfoModel(BasicStringInterface& str) =0; + //@} + +//CameraDriverInterface + + /*! ReadOutMode */ + enum ReadOutMode + { + rm_Line = 0, /**< The camera is a line readout device.*/ + rm_Image = 1, /**< The camera is a frame readout device.*/ + rm_FitsOnDisk = 2, /**< The camera provides the image as a FITS on disk.*/ + }; + +public://Properties + + /*!Software Bisque only.*/ + virtual enumCameraIndex cameraId() {return m_Camera;} + /*!Software Bisque only.*/ + virtual void setCameraId(enumCameraIndex Cam) {m_Camera = Cam;} + /*!Return true if the camrea is connected (linked)*/ + virtual bool isLinked() {return m_bLinked;} + /*!Software Bisque only.*/ + virtual void setLinked(const bool bYes) {m_bLinked = bYes;} + + /*! Return the version to this interface, X2 implementors do not modify.*/ + virtual int cameraDriverInterfaceVersion(void) {return CAMAPIVERSION;} + /*! Return how this camera reads out the image.*/ + virtual ReadOutMode readoutMode(void) {return CameraDriverInterface::rm_Line;} + /*! This is called to return the path to the corresponding FITS file, only when readoutMode() returns rm_FitsOnDisk. \sa readoutMode().*/ + virtual int pathTo_rm_FitsOnDisk(char* lpszPath, const int& nPathMaxSize){(void)lpszPath; (void)nPathMaxSize;return 0;} + +public://Methods + + /*! Display a device dependent settings dialog if necessary.*/ + virtual int CCSettings(const enumCameraIndex& Camera, const enumWhichCCD& CCD)=0; + + /*! Connect or establish a link to the camera.*/ + virtual int CCEstablishLink(enumLPTPort portLPT, const enumWhichCCD& CCD, enumCameraIndex DesiredCamera, enumCameraIndex& CameraFound, const int nDesiredCFW, int& nFoundCFW)=0; + /*! Disconnect from the camera.*/ + virtual int CCDisconnect(const bool bShutDownTemp)=0; + + /*! Return the physical size of the camera's detector.*/ + virtual int CCGetChipSize(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nXBin, const int& nYBin, const bool& bOffChipBinning, int& nW, int& nH, int& nReadOut)=0; + /*! Return the number of bin modes this camera supports.*/ + virtual int CCGetNumBins(const enumCameraIndex& Camera, const enumWhichCCD& CCD, int& nNumBins)=0; + /*! Return the size x and y bin size for each bin mode this camera supports.*/ + virtual int CCGetBinSizeFromIndex(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nIndex, long& nBincx, long& nBincy)=0; + + /*! Set the size of subframe in binned pixels.*/ + virtual int CCSetBinnedSubFrame(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nLeft, const int& nTop, const int& nRight, const int& nBottom)=0; + + /*! SBIG specific.*/ + virtual void CCMakeExposureState(int* pnState, enumCameraIndex Cam, int nXBin, int nYBin, int abg, bool bRapidReadout)=0; + + /*! Start the exposure.*/ + virtual int CCStartExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, const int& nABGState, const bool& bLeaveShutterAlone)=0; + /*! Called to know if the exposure is complete. \param pbComplete Set to true if the exposure is complete, otherwise set to false. \param pStatus is SBIG specific and can be ignored.*/ + virtual int CCIsExposureComplete(const enumCameraIndex& Cam, const enumWhichCCD CCD, bool* pbComplete, unsigned int* pStatus)=0; + /*! Called once the exposure is complete. Allows software implementation of downloading since for every CCStartExposure there is a corresponding CCEndExposure.*/ + virtual int CCEndExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const bool& bWasAborted, const bool& bLeaveShutterAlone)=0; + + /*!Return one line of the image. /sa readoutMode().*/ + virtual int CCReadoutLine(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& pixelStart, const int& pixelLength, const int& nReadoutMode, unsigned char* pMem)=0; + /*!Dump n lines to speed up download when a subframe is present.*/ + virtual int CCDumpLines(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nReadoutMode, const unsigned int& lines)=0; + + /*!Return the image. /sa readoutMode().*/ + virtual int CCReadoutImage(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nWidth, const int& nHeight, const int& nMemWidth, unsigned char* pMem)=0; + + /*!Turn off or on temperature regulation.*/ + virtual int CCRegulateTemp(const bool& bOn, const double& dTemp)=0; + /*!Return the temperature and corresponding status. Because camera hardware varies widely with respect to temperature control, this method is intended to accomodate + a wide range of levels of support, from the most basic, where only temperature regulation can be enabled/disabled to the most advanced that includes regulation enabled/disabled, + percent power, a discriptive string assocaited with power, and setpoint or any combination. + \param dCurTemp Return the current temperature or -100 if not supported. + \param dCurPower Return the power applied to the TE cooler or -100 if not supported. + \param lpszPower Return a string associated the power applied to the TE cooler or NULL if not supported. Example strings might be "Off", "Cooling To Setpoint", + "Correcting", "Raising to Ambient", "Ambient", "Max", "Min", "OK (At Setpoint)" + \param nMaxLen The maximum size the lpszPower string can be. + \param bCurEnabled Return 1 if temperature is being regulated or 0 if not. + \param dCurSetPoint Return the current temperature setpoint or -100 if not supported.*/ + virtual int CCQueryTemperature(double& dCurTemp, double& dCurPower, char* lpszPower, const int nMaxLen, bool& bCurEnabled, double& dCurSetPoint)=0; + /*!When possible, return a recommended temperature setpoint. \param dRecSP The recommended temperature setpoint or set to 100 if unable to recommend one.*/ + virtual int CCGetRecommendedSetpoint(double& dRecSP)=0; + /*!Turn the fan of off.*/ + virtual int CCSetFan(const bool& bOn)=0; + + /*!Turn on a camera relay or relays, in 1/100's of a second. Called when autoguiding.*/ + virtual int CCActivateRelays(const int& nXPlus, const int& nXMinus, const int& nYPlus, const int& nYMinus, const bool& bSynchronous, const bool& bAbort, const bool& bEndThread)=0; + + /*!SBIG specific for controlling internal filter wheels.*/ + virtual int CCPulseOut(unsigned int nPulse, bool bAdjust, const enumCameraIndex& Cam)=0; + + /*!Manually control the shutter. This method is only called in very specialized circumstances with specific hardware and or customized software and not called in general. You may implement this if the camera hardware is capable of successfully opening and closing the shutter outside or within the context of an exposure. */ + virtual int CCSetShutter(bool bOpen)=0; + /*!Deprecated. Called after download to resynchronize the PC clock to the real-time clock.*/ + virtual int CCUpdateClock(void)=0; + + /*!Software Bisque only.*/ + virtual int CCSetImageProps(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nReadOut, void* pImage)=0; + /*!Return the camera's full dynamic range, required for \@Focus and \@Focus2 to work.*/ + virtual int CCGetFullDynamicRange(const enumCameraIndex& Camera, const enumWhichCCD& CCD, unsigned long& dwDynRg)=0; + + /*!Called before download.*/ + virtual void CCBeforeDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; + /*!Called after download.*/ + virtual void CCAfterDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; + + //Implemenation below here +protected: + bool m_bLinked; + enumCameraIndex m_Camera; + +//Base class End Copy Above here +}; + + +//Added another export to CamAPI +//Not requried so its backward compatible +//Attempted to add a ptr func to it in CamApi.h, but got bad debug delete error +//(i.e. the CamAPI object header, was different from what CCDSoft allocated. +//This gives TheSkyX a way to talk to a plug in imp outside the context of the above object +//Mostly its for Photometric camera that has NFrames +#ifdef Q_WS_WIN +typedef __declspec(dllexport) int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); +#else +typedef int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); +#endif + +#endif //_CameraDriverInterFace_H_ diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/deviceinfointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/deviceinfointerface.h new file mode 100644 index 0000000..b91a87c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/domedriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/domedriverinterface.h new file mode 100644 index 0000000..fb1c444 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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 "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/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 {}; + 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 = 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 \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverinfointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverinfointerface.h new file mode 100644 index 0000000..d6f2129 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/driverrootinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverrootinterface.h new file mode 100644 index 0000000..3478a7a --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h new file mode 100644 index 0000000..336611f --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h @@ -0,0 +1,29 @@ +#ifndef _DriverSlewsToParkPositionInterface_H +#define _DriverSlewsToParkPositionInterface_H + +#define DriverSlewsToParkPositionInterface_Name "com.bisque.TheSkyX.DriverSlewsToParkPositionInterface/1.0" + +/*! +\brief The DriverSlewsToParkPositionInterface prevents TheSky from slewing the mount to the park position when a Park command is issued so that the mount driver can take on this responsibility. + +\ingroup Interface + +This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. + +Merely implementing this interface means the mount driver slews to the park position and parks the mount as well as maintains the park position. No additional implementation needed. + +This overrides the default behavior where upon Park, TheSky is responsible for slewing a mount to the park position, parking and maintaining that position. + +This interface was added in TheSky build 11173, see TheSkyXFacadeForDriversInterface::build. + +\sa ParkInterface +*/ +class DriverSlewsToParkPositionInterface +{ +public: + + virtual ~DriverSlewsToParkPositionInterface(void){} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h new file mode 100644 index 0000000..1886578 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h @@ -0,0 +1,67 @@ +#ifndef _ExtendedCameraInterface_H +#define _ExtendedCameraInterface_H + +#define ExtendedCameraInterface_Name "com.bisque.TheSkyX.ExtendedCameraInterface/1.0" + +/*! +\brief + +This interface is deprecated. New development should instead use CameraDependentSettingInterface. +This interface was deprecated in TheSky build 11525. + +Existing drivers that support ExtendedCameraInterface will continure to work, but +developers are encouraged to migrate their code to use CameraDependentSettingInterface. The change +is minimal in that the intefaces are identical except there is one additional method, namely CCGetExtendedSettingName +to supply a name for the extended setting. +A driver may support both ExtendedCameraInterface and CameraDependentSettingInterface and the latter will +prevail if the build is equal to or greater than the build when ExtendedCameraInterface was deprecated. + + +The ExtendedCameraInterface allows camera drivers to supply one additional argument to the standard + CameraDriverInterface::CCStartExposure function. + +\ingroup Interface + +This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. +However, many cameras support options which may be device-specific, or are otherwise unsupported by this default implementation +(such as RBI flush, or multiple data readout modes). + +This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to +enumerate the potential values for this argument. TheSkyX will then allow the user to select between these values when +commanding an exposure. + +As an example, a simple implementation of this interface to support enabling/disabling RBI might: +* CCGetExtendedValueCount would return 2 +* CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. +* CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. + +If an older version of TheSkyX attaches to a driver implementing this function, the standard CCStartExposure function +should be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with +nIndex == 0. + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class ExtendedCameraInterface +{ +public: + + virtual ~ExtendedCameraInterface(){} + +public: + //ExtendedCameraInterface + /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ + virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the human-readable name of each of the possible values the extended argument may take. + The strings returned by this function will be presented to the user for selection. */ + virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; + + /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 + and the result of CCGetExtendedValueCount - 1 */ + virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, + const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h new file mode 100644 index 0000000..5dc07ec --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h @@ -0,0 +1,75 @@ +#ifndef _FilterWheelDriverInterface_H +#define _FilterWheelDriverInterface_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" +#include "imagingsystem/hardware/interfaces/licensed/filterwheelmovetointerface.h" +#else +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#include "../../licensedinterfaces/filterwheelmovetointerface.h" +#endif + +/*! +\brief The FilterWheelDriverInterface allows an X2 implementor to a write X2 filter wheel driver. + +\ingroup Driver + +See the X2FilterWheel for an example. +*/ +class FilterWheelDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FilterWheelMoveToInterface +{ +public: + virtual ~FilterWheelDriverInterface(){} + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FILTERWHEEL;} + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const = 0; + virtual double driverInfoVersion(void) const = 0; + //@} + + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; + virtual void deviceInfoModel(BasicStringInterface& str) = 0; + //@} + + /*!\name LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) = 0; + virtual int terminateLink(void) = 0; + virtual bool isLinked(void) const = 0; + //@} + + /*!\name FilterWheelMoveToInterface Implementation + See FilterWheelMoveToInterface.*/ + //@{ + virtual int filterCount(int& nCount) = 0; + virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut) = 0; + virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; + virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; + virtual int endFilterWheelMoveTo(void) = 0; + virtual int abortFilterWheelMoveTo(void) = 0; + //@} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h new file mode 100644 index 0000000..6c841de --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h @@ -0,0 +1,81 @@ +#ifndef _FilterWheelMoveToInterface_H +#define _FilterWheelMoveToInterface_H + +#define FilterWheelMoveToInterface_Name "com.bisque.TheSkyX.FilterWheelMoveToInterface/1.0" + +class BasicStringInterface; + +/*! +\brief The FilterWheelMoveToInterface allows moving to a specific filter. + +\ingroup Interface + +This interface is used by TheSkyX to move a filter wheel to a specific filter. +By nature this interface supports moving to a filter asyncrhonously, but can also +be used to move to a filter synchronously. + +*/ +class FilterWheelMoveToInterface +{ +public: + + virtual ~FilterWheelMoveToInterface(){} + +public: + + /*!Return the total number of available filters.*/ + virtual int filterCount(int& nCount) = 0; + + /*!Start the move to operation.*/ + virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; + /*!Sets bComplete to non zero when the move to is complete.*/ + virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; + /*!End the move to. This function is always called for every corresponding startFilterWheelMoveTo(), allowing software implementations of move to.*/ + virtual int endFilterWheelMoveTo(void) = 0; + /*!Abort any move to operation in progress.*/ + virtual int abortFilterWheelMoveTo(void) = 0; + + /*!Return a default name of the filter associated with nIndex (in the range 0 to nCount-1 returned by filterCount(nCount)). + This is optional and gives X2 drivers a way to provide a default filter name if so desired. The default implemenation does nothing, + in which case TheSky will provide a default name for each filter. TheSkyX provides a means for users to edit filter names as well.*/ + virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut){(void)nIndex; return 0;}; + + /*! \page embeddeddevices Embedded Devices + + In an effort to lessen the burden in developing device drivers for TheSkyX, X2 specifically addresses the concept of an embedded device. + The X2 architecture by default keeps in line with object oriented programming techniques which strive to keep objects independent of one another, + for example a camera and a filter wheel are independent. This is fine when physically the devices are separate, say from two manufacturers and + they communicate on two different ports and they are independent. In practice, many cameras have a built in filter wheel, + and both camera and filter wheel communicate over the same port and a (plug in) driver model that treats them independently can place a burden + on the developer to solve how to get the two independent drivers hosted in two shared libraries (dlls) to communicate over the same port. + + TheSkyX has the means to allow a camera to have an embedded filter wheel (a mount having an embedded focuser might be next + but TheSkyX already has native drivers for most popular mounts with embedded focusers). + + The following are required for a camera to have a embedded filter wheel from TheSkyX's perspective: + + -# 1) The x2 camera driver must implement the FilterWheelMoveToInterface. + -# 2) The hardwarelist.txt for the filter wheel must have its "MapsTo" field set to "Camera's Filter Wheel". + + With this combination, TheSkyX will simply delegate the filter wheel calls to the camera's implementation of the FilterWheelMoveToInterface, + thus "easily" allowing a camera driver to be created that has an embedded filter wheel while at the same time not duplicating interfaces to address + an independent filter wheel vs. an dependent (embedded) filter wheel. + + Also see MultiConnectionDeviceInterface. + */ + + + /*!The default implementation of this function does nothing which is correct for most filter wheels. Only consider this function if you are + implementing a camera's embedded filter wheel. + + If a CameraDriverInterface implements the FilterWheelMoveToInterface (for an embedded filter wheel), TheSkyX calls embeddedFilterWheelInit + passing along the name of the filter wheel selection just prior to establishLink for the camera. + This serves to provide the camera sufficient information to be prepared for filter wheel control. + X2 implementors can give many names to an embedded filter wheel(s) through their hardwarelist.txt, + in case that differentiation helps in implementation or there are n filter wheel models to choose from. + For more information, see the \ref embeddeddevices page.*/ + virtual void embeddedFilterWheelInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h new file mode 100644 index 0000000..e7280b7 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h @@ -0,0 +1,63 @@ +#ifndef _FocuserGotoInterface2_H +#define _FocuserGotoInterface2_H + +#ifdef THESKYX_FOLDER_TREE +#include "components/basicstring/basicstringinterface.h" +#else +#include "../../licensedinterfaces/basicstringinterface.h" +#endif + +#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" + +/*! +\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. + +\ingroup Interface + +The nature of a focuser is that it moves relative from where it is, in(-) and out(+). +This justifies why startFocGoto() is relative rather than absolute. An absolute goto can +be accomplished by the more primitive, indigenous startFocGoto. + +The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases +startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers +can essentially "fake" the the asynchronousness. + +*/ + +class FocuserGotoInterface2 +{ +public: + + virtual ~FocuserGotoInterface2(){} + +public: + + /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ + virtual int focPosition(int& nPosition) =0; + /*! Return the focusers minimum limit.*/ + virtual int focMinimumLimit(int& nMinLimit) =0; + /*! Return the focusers maximum limit.*/ + virtual int focMaximumLimit(int& nMaxLimit) =0; + /*! Abort an operation in progress.*/ + virtual int focAbort() =0; + + /*! Initiate the focus goto operation.*/ + virtual int startFocGoto(const int& nRelativeOffset) = 0; + /*! Return if the goto is complete.*/ + virtual int isCompleteFocGoto(bool& bComplete) const = 0; + /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ + virtual int endFocGoto(void) = 0; + + /*! Return the number (count) of avaiable focuser gotos.*/ + virtual int amountCountFocGoto(void) const = 0; + /*! Return a string along with the amount or size of the corresponding focuser goto.*/ + virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; + /*! Return the current index of focuser goto selection. */ + virtual int amountIndexFocGoto(void) =0; + + /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ + virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h new file mode 100644 index 0000000..8d71e62 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h @@ -0,0 +1,32 @@ +#ifndef _FocuserTemperatureInterface_H +#define _FocuserTemperatureInterface_H + +#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" + +/*! +\brief The FocuserTemperatureInterface allows focusers to report their current temperature. + +\ingroup Interface + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class FocuserTemperatureInterface +{ +public: + + virtual ~FocuserTemperatureInterface(){} + +public: + //FocuserTemperatureInterface + /*!TheSkyX calls this fuunction to return the focuser's current temperature. + The value should be reported in degrees celsius. For drivers that support multiple focusers + where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or + setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ + virtual int focTemperature(double &dTemperature)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h new file mode 100644 index 0000000..dd78ffa --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h @@ -0,0 +1,82 @@ +#ifndef _FocuserDriverInterface_H +#define _FocuserDriverInterface_H + +#ifdef THESKYX_FOLDER_TREE +#include "imagingsystem/hardware/interfaces/licensed/driverrootinterface.h" +#include "imagingsystem/hardware/interfaces/licensed/deviceinfointerface.h" +#include "imagingsystem/hardware/interfaces/licensed/driverinfointerface.h" +#include "imagingsystem/hardware/interfaces/licensed/linkinterface.h" +#include "imagingsystem/hardware/interfaces/licensed/focuser/focusergotointerface2.h" +#include "sberror.h" +#else +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/focuser/focusergotointerface2.h" +#endif + +/*! +\brief The FocuserDriverInterface allows an X2 implementor to a write X2 focuser driver. + +\ingroup Driver + +See the X2Focuser for an example. +*/ +class FocuserDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FocuserGotoInterface2 +{ +public: + virtual ~FocuserDriverInterface(){} + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FOCUSER;} + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const {}; + virtual double driverInfoVersion(void) const {return 0.0;} + //@} + + /*!\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 LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) = 0; + virtual int terminateLink(void) = 0; + virtual bool isLinked(void) const = 0; + //@} + + /*!\name FocuserGotoInterface2 Implementation + See FocuserGotoInterface2.*/ + virtual int focPosition(int& nPosition) =0; + virtual int focMinimumLimit(int& nMinLimit) =0; + virtual int focMaximumLimit(int& nMaxLimit) =0; + virtual int focAbort() =0; + + virtual int startFocGoto(const int& nRelativeOffset) = 0; + virtual int isCompleteFocGoto(bool& bComplete) const = 0; + virtual int endFocGoto(void) = 0; + + virtual int amountCountFocGoto(void) const = 0; + virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; + virtual int amountIndexFocGoto(void)=0; + //@} + + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h new file mode 100644 index 0000000..e7280b7 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h @@ -0,0 +1,63 @@ +#ifndef _FocuserGotoInterface2_H +#define _FocuserGotoInterface2_H + +#ifdef THESKYX_FOLDER_TREE +#include "components/basicstring/basicstringinterface.h" +#else +#include "../../licensedinterfaces/basicstringinterface.h" +#endif + +#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" + +/*! +\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. + +\ingroup Interface + +The nature of a focuser is that it moves relative from where it is, in(-) and out(+). +This justifies why startFocGoto() is relative rather than absolute. An absolute goto can +be accomplished by the more primitive, indigenous startFocGoto. + +The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases +startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers +can essentially "fake" the the asynchronousness. + +*/ + +class FocuserGotoInterface2 +{ +public: + + virtual ~FocuserGotoInterface2(){} + +public: + + /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ + virtual int focPosition(int& nPosition) =0; + /*! Return the focusers minimum limit.*/ + virtual int focMinimumLimit(int& nMinLimit) =0; + /*! Return the focusers maximum limit.*/ + virtual int focMaximumLimit(int& nMaxLimit) =0; + /*! Abort an operation in progress.*/ + virtual int focAbort() =0; + + /*! Initiate the focus goto operation.*/ + virtual int startFocGoto(const int& nRelativeOffset) = 0; + /*! Return if the goto is complete.*/ + virtual int isCompleteFocGoto(bool& bComplete) const = 0; + /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ + virtual int endFocGoto(void) = 0; + + /*! Return the number (count) of avaiable focuser gotos.*/ + virtual int amountCountFocGoto(void) const = 0; + /*! Return a string along with the amount or size of the corresponding focuser goto.*/ + virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; + /*! Return the current index of focuser goto selection. */ + virtual int amountIndexFocGoto(void) =0; + + /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ + virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h new file mode 100644 index 0000000..8d71e62 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h @@ -0,0 +1,32 @@ +#ifndef _FocuserTemperatureInterface_H +#define _FocuserTemperatureInterface_H + +#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" + +/*! +\brief The FocuserTemperatureInterface allows focusers to report their current temperature. + +\ingroup Interface + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class FocuserTemperatureInterface +{ +public: + + virtual ~FocuserTemperatureInterface(){} + +public: + //FocuserTemperatureInterface + /*!TheSkyX calls this fuunction to return the focuser's current temperature. + The value should be reported in degrees celsius. For drivers that support multiple focusers + where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or + setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ + virtual int focTemperature(double &dTemperature)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h new file mode 100644 index 0000000..457dd4c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h @@ -0,0 +1,41 @@ +#ifndef _GPSInterface_H +#define _GPSInterface_H + +#define GPSInterface_Name "com.bisque.TheSkyX.GPSInterface/1.0" + +/*! +\brief The GPSInterface allows communcation with a GPS device. + +\ingroup Interface + +This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. +In the future, other devices may be queried for implementation of this interface if and when GPS services ever exist on these devices. +*/ + +class GPSInterface +{ +public: + + virtual ~GPSInterface(){} + +public: + //GPSInterface + /*!Return true if the GPS exists and is present.*/ + virtual bool gpsExists(void)=0; + /*!Return true if the GPS is connected (linked).*/ + virtual int isGPSLinked(bool&)=0; + /*!Return the longitude in degrees.*/ + virtual int gpsLongitude( double& dLong )=0; + /*!Return the latitude in degrees.*/ + virtual int gpsLatitude( double& dLat )=0; + /*!Return the date.*/ + virtual int gpsDate( int& mm, int& dd )=0; + /*!Return the time.*/ + virtual int gpsTime( int& hh, int& min, double& s)=0; + /*!Return the year.*/ + virtual int gpsYear(int& yy)=0; + /*!Return the timezone.*/ + virtual int gpsTimeZone(int& tz)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h new file mode 100644 index 0000000..8253b68 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h @@ -0,0 +1,43 @@ +#ifndef _HardwareModelOverrideInterface_H +#define _HardwareModelOverrideInterface_H + +#define HardwareModelOverrideInterface_Name "com.bisque.TheSkyX.HardwareModelOverrideInterface/1.0" + +/*! +\brief The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than the +'Model' field found in the corresponding company specific 'hardwarelist.txt' file. + +\ingroup Interface + +This interface is optional. It is not recommended to support this interface unless it is absolutely necessary. +Software Bisque has found that customers expect to be able to explicitly choose their hardware model and if they +cannot, they will usually require technical support. +The recommended way x2 drivers list their hardware model(s) is to explicitly list each model in their company +specific "hardwarelist.txt" (see the "hardwarelist.txt" for details). The "hardwareList.txt" convention provides +a simple way to list n models that point to one or more drivers without requiring any hardware i/o calls. + +The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than what is listed +in the company specific hardware list. Examples of implementing this interface may include cases where listing all +possible models isn't desirable or if the x2 driver is consuming another entire driver model where the +actual model of hardware is purposefully hidden and if and only if the real model is known after connection. + +TheSkyX build 6655 or later is required for this optional interface to work. Earlier builds simply ignore it. + +See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. + +*/ + +class HardwareModelOverrideInterface +{ +public: + + virtual ~HardwareModelOverrideInterface(){} + +public: + //HardwareModelOverrideInterface + /*!Return a model name.*/ + virtual void hardwareModelOverride(BasicStringInterface& str)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/linkinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/linkinterface.h new file mode 100644 index 0000000..29bcb41 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/loggerinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/loggerinterface.h new file mode 100644 index 0000000..08b747c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h new file mode 100644 index 0000000..4018260 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h @@ -0,0 +1,37 @@ +#ifndef _ModalSettingsDialogInterface_H +#define _ModalSettingsDialogInterface_H + +#define ModalSettingsDialogInterface_Name "com.bisque.TheSkyX.ModalSettingsDialogInterface/1.0" + +/*! +\brief The ModalSettingsDialogInterface allows X2 implementors to display a customized settings user interface. + +\ingroup Interface + +X2 implementors can implement this interface to have TheSky display their own, modal, settings user interface. + +Warning, if this interface is implemented without a using X2GUIInterace, the resulting X2 driver will +require either some kind of cross platform windowing library or windowing code native to each operating system. +Instead, X2 implementors are encouraged to use the X2GUIInterace in their implementation of this interface +(see the X2Camera for a complete example) to keep their driver more maintainable and portable across operating systems +and to simplify their driver distribution. + +\sa SerialPortParams2Interface +*/ + +class ModalSettingsDialogInterface +{ +public: + + virtual ~ModalSettingsDialogInterface(){} + +public: + //ModalSettingsDialogInterface + /*! Initialize the modal settings dialog.*/ + virtual int initModalSettingsDialog(void) = 0; + /*! Execute and display the modal settings dialog.*/ + virtual int execModalSettingsDialog(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h new file mode 100644 index 0000000..626d209 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h @@ -0,0 +1,195 @@ +#ifndef _AsymmetricalEquatorialInterface_H +#define _AsymmetricalEquatorialInterface_H + +#include "mounttypeinterface.h" + +#define AsymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.AsymmetricalEquatorialInterface/1.0" + +/*!\defgroup Tool Device Driver Tool Kit*/ +/*!\defgroup Driver Driver Interfaces */ +/*!\defgroup Interface Optional Interfaces*/ +/*!\defgroup Example Example Drivers*/ +/*!\defgroup GUI Graphical User Interface (GUI)*/ + +/*! \page x2howto How to Write a TheSkyX Driver + + For illustration purposes, the following steps are for creation of a camera driver, but the same steps are involved in making any X2 driver. + + The X2Camera example source code provides a pattern to follow to create a TheSkyX camera driver. + + -# Obtain TheSkyX version 10.1.9 or later. + -# Tell TheSkyX A) how to display your camera to the user for selection and B) the name of the file that is your plug in binary by making your own company specific list of camera hardware. + -# Make a copy of "cameralist.txt" distributed by TheSkyX and name it "cameralist My Company.txt" where 'My Company' is your company name. The files goes in the same folder as cameralist.txt. + -# Edit "cameralist My Company.txt" remove all lines except one and by following the existing format, enter your specific camera information and the name of your plug in binary is "My Company Plug In File Name", for example: + -# "2|My Company|My Company Hardware Model|Comment| |My Company Plug In File Name|x2 developer string||||" + -# See the header of the file "hardwarelist.txt" distributed by TheSkyX for more details on this file format. + -# Compile the X2Camera sample unmodified, and place the binary into the TheSkyX/Resources/Common/PlugIns/CameraPlugIns folder. Start TheSkyX, go to Telescope, Setup and in the Imaging System Setup tree select Cameras, select the X2Camera and choose Connect. The X2 plug in dll CCEstablishLink will be called. + -# Implement the X2Camera with device dependent io calls. See the X2Camera source for more details on function calls. Use conditional compilation for OS specific io calls or branch in main.cpp with two entirely different X2Camera implementations depending upon OS. + +*/ + +/*! \page x2driverinstall Installing Your X2 Driver + + The x2 developer should provide a means to install/update their driver independent of TheSkyX. For cross platform drivers, there is the need for a Windows/Mac installer. + Unfortunately, we are not aware of any good, free, cross platform installers (Installshield and bitrock are expensive). On Windows consider the MSI or nullsoft installer. + + At a minimum, your own x2 installer will need to distribute two files, your own "hardwarelist .txt" with your list of hardware and the corresponding plug in binary. + Any other libraries your binary requires also need distributed. Please strive to minimize dependencies and static link libraries whenever possible. + + With the above being said, a vision Software Bisque is for TheSkyX to come with drivers (x2 or native) for the most popular hardware and for everything to work "out of the box." + IOW, install TheSkyX, and immediately control your dome, mount, camera, autoguider, filter wheel, focuser, rotator, etc, on either Windows and Mac. This is another primary reason we've + architected x2 the way we did, to keep the x2 driver footprint small, efficient and with as few as possible dependencies. If you have confidence in your x2 driver + and are willing to stand behind it, TheSkyX's installer would love to include it, please contact Software Bisque to discuss. + + \section whereistheskyx Where Is TheSkyX Installed? + + There are many ways to find out where TheSkyX is installed. TheSkyX has the following convention to hopefully make it easier to write an installer and works on both Mac and or Windows... + + Conventionally, TheSkyX 10.1.11 (build 4630 and later) provides a way for third parties easily find out where TheSkyX is installed. + The file TheSkyXInstallPath.txt holds the path to where TheSkyX is installed. TheSkyXInstallPath.txt file is found in the folder... + + on Windows: /Software Bisque/TheSkyX Professional Edition + + on Mac: ~/Library/Application Support/Software Bisque/TheSkyX Professional Edition + + (For installations targeting TheSkyX Serious Astronomer Edition, replace the "TheSkyX Professional Edition" with "TheSkyX Serious Astronomer Edition" in the folder paths above.) + + Notes: + - TheSkyX has to be run at least once before TheSkyXInstallPath.txt exists. + - This convention is purposfully not dependent upon the Windows registry. + - TheSkyXInstallPath.txt is updated each time TheSkyX runs, so this convention still allows moving TheSkyX from one hard driver or folder to another. (Installsheild's HKLM\~\App\TheSkyX.exe registry convention is only written on install.) + + Here is a Windows script for determining the folder: + + Set WshShell = Wscript.CreateObject("Wscript.Shell")
+ path=WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal")
+ MsgBox path
+ +*/ + +/*! \page x2changelog Change Log + + - 1.01 - Changed x2mount example to use TheSkyXFacadeForDriversInterface instead of deprecated TheSkyXFacadeForMountsInterface (interface identical). + - 1.02 - Added Mac make files for X2 examples. + - 1.03 - The ModalSettingsDialogInterface and SerialPortParams2Interface are no longer mutually exclusive. + - 1.04 - SerXInterface::open allows setting data bits. + - 1.05 - Filter wheel support, see FilterWheelDriverInterface. + - 1.06 - Documented \ref embeddeddevices. + - 1.07 - Updated \ref x2driverinstall. + - 1.08 - Made all x2 examples explicitly delete device driver tools (x2dome, x2filterwheel, x2mount, x2rotator did not). Published drivers should eventually follow suite to prevent a small memory leak when choosing different hardware. + - 1.09 - Updated LoggerInterface documentation. + - 1.10 - Documented and added X2Focuser example. + - 1.11 - TrackingRatesInterface documentation update. + - 1.13 - Updated documentation to use version 2 of the hardwarelist.txt (TheSkyX is backward compatible with version 1). + - 1.14 - TrackingRatesInterface documentation update. + - 1.15 - Made documentation for CameraDriverInterface::CCQueryTemperature clearer. + - 1.16 - Added HardwareModelOverrideInterface + - 1.17 - Minor documentation update. + - 1.18 - Added MultiConnectionDeviceInterface, PreExposureTaskInterface for cameras. + - 1.19 - Refresh. + - 1.20 - Added DriverSlewsToParkPositionInterface. + - 1.21 - Added CameraDependentSettingInterface, deprecated ExtendedCameraInterface. + +*/ + +/*! \page x2SharingASerialPort Sharing a Serial Port + Sharing a serial port + + See MultiConnectionDeviceInterface. +*/ + +/*! +\mainpage +

The X2 Standard

+ +TheSkyX's Cross-Platform, Plug In, Device Driver Architecture
+ +X2 Features + + +- Cross-platform (Windows/Mac/Linux) +- Based upon C++ standard. Minimum dependencies for easy portability/maintainability across operating systems. +- Smallest possible driver footprint. Only code specific to the hardware is in the driver, helpful cross platform interfaces are supplied (see \ref Tool). +- Qt is NOT required. Allows third parties to develop drivers independent of any cross-platform library. +- Suitable architecture for hardware manufacturers to rely upon for their native, device driver development. +- Consumable from most every programming language (thin operating system specific callable layering required). +- Architected upon the basic principles of object oriented programming namely encapsulation, polymorphism, and inheritance. + - Inheritance is used carefully where an interface (a C++ class with one or more pure virtual functions) purposefully hides implementation from caller (TheSkyX) minimizing dependencies while focusing the interface on one task. + - Keeps client (TheSkyX) code more managable. +- Modular in terms of levels of support. + - Can handle devices of a given kind with a broad range of capabilities without being plagued with a "CanXXX" for every property/method. + - Basic or "essence" support isn't plagued/complicated by "no op" stubs that must be re-implemented for devices that don't have such a capability. + - Flexible for adding a new capability not found in any other device in kind. Only the device with the new feature needs recompiled not all devices in kind. + - All other devices don't have to be brought up to the same level of support. + - Clients (TheSkyX) wanting to leverage new capability must of course be updated (recompiled) to take advantage of new capability. +- Easy to implement features in devices not up to superset. Clients (TheSkyX) compatible with superset automatically leverage new capability. +- Shows/provides a way (means) to evolve. +- Not a native "discovery" methodology (but discovery standard could be accommodated). +- Supports control of an open-ended number of devices (coming to TheSkyX) along with their persistence . + +Introduction + +One of the main goals of the X2 standard is to make it possible and easy for third parties to write and maintain their own hardware drivers compatible with TheSkyX +on all operating systems it supports. In addition, the X2 standard is by nature extensible, that is, it can grow at the optional, interface level without +all drivers or clients needing to be simultaneously brought up to the same level or even recompiled for that matter. + +\ref x2howto + +\ref x2driverinstall + +\ref x2changelog +*/ + +/*! +\brief The AsymmetricalEquatorialInterface for equtorial mounts. + +\ingroup Interface + +If a X2 mount driver implements this interface, the mount is an asymmetrical equtorial mount (e.g. GEM or cross-axis). +\sa SymmetricalEquatorialInterface +*/ + +class AsymmetricalEquatorialInterface +{ +public: + + virtual ~AsymmetricalEquatorialInterface(){} + + /*! + The default implementation returns the appropriate type of mount. + */ + MountTypeInterface::Type mountType(){return MountTypeInterface::Asymmetrical_Equatorial;} + + /*! + If knowsBeyondThePole() returns false, the mount + cannot distinguish unambiguosly if the OTA end of the declination axis + is either east or west of the pier. This somewhat restricts use of the + mount with TPoint - the mount must always have the OTA end of the declination + axis higher than the counterweights. In other words, the mount should not slew past the meridian. + */ + virtual bool knowsBeyondThePole() {return false;} + + /*! + If knowsBeyondThePole() returns true, + then beyondThePole() tells TheSkyX unambiguously + if the OTA end of the declination axis + is either east (0) or west of the pier (1). + Note, the return value must be correct even + for cases where the OTA end of the Dec axis + is lower than the counterweights. + */ + virtual int beyondThePole(bool& bYes){bYes=false; return 0;} + + /*! + Return the hour angle at which the mount automatically flips. + */ + virtual double flipHourAngle() {return 0;} + + /*! + Return the east and west hour angle limits. + */ + virtual int gemLimits(double& dHoursEast, double& dHoursWest){dHoursEast=dHoursWest=0;return 0;} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h new file mode 100644 index 0000000..aefd259 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h @@ -0,0 +1,31 @@ +#ifndef _LinkFromUIThreadInterface_H +#define _LinkFromUIThreadInterface_H + +#define LinkFromUIThreadInterface_Name "com.bisque.TheSkyX.LinkFromUIThreadInterface/1.0" + +/*! +\brief The LinkFromUIThreadInterface allows X2 implementors to cause TheSkyX to call establishLink from the user interface thread. + +\ingroup Interface + +X2 implementors can implement this interface to have TheSky call establishLink() from the user interface thread instead of from a background thread by default. +This can simplify drivers that use Microsoft COM on Windows in their implementation . +There are no member functions to this interface, simply implemenenting it is sufficient. + +This only applies to mount drivers. + +\sa LinkInterface +*/ + +class LinkFromUIThreadInterface +{ +public: + + virtual ~LinkFromUIThreadInterface(){} + +public: + + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h new file mode 100644 index 0000000..844f9ad --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h @@ -0,0 +1,44 @@ +#ifndef _MountTypeInterface_H +#define _MountTypeInterface_H + +#define MountTypeInterface_Name "com.bisque.TheSkyX.MountTypeInterface/1.0" + +/*! +\brief The MountTypeInterface covers all possible mount types that X2 drivers can implement + +\ingroup Tool + +A Naïveté, object oriented architecture might insist upon a property common to all mounts, +namely mountType() (and even worse yet, setMountType() where +implementation might be difficult to dyanmically change from one type of mount to another. +Such a property leads to confusion for all methods and properties related +to the specific type of mount, and which ones apply and don't apply, etc. +In the X2 architecture, the related methods and properties are contained +in optional interfaces that each mount can support as needed. +In other words, X2 doesn't riddle the global scope with n number of stubs +for methods/properties that don't apply. + +Below are the related, mutually exclusive, interfaces when implemented dictate +the type of mount. +\sa SymmetricalEquatorialInterface +\sa AsymmetricalEquatorialInterface +*/ + +class MountTypeInterface +{ +public: + + virtual ~MountTypeInterface(){} + + /*! Mount Type */ + enum Type + { + Symmetrical_Equatorial, /**< e.g. fork, horseshoe or yoke */ + Asymmetrical_Equatorial,/**< e.g. GEM or cross-axis */ + AltAz, /**< Not yet natively supported */ + Unknown, /**< Unknown mount type */ + }; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h new file mode 100644 index 0000000..0c2c914 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h @@ -0,0 +1,42 @@ +#ifndef _NeedsRefractionInterface_H +#define _NeedsRefractionInterface_H + + +#define NeedsRefractionInterface_Name "com.bisque.TheSkyX.NeedsRefractionInterface/1.0" + +/*! +\brief The NeedsRefractionInterface for mounts. + +\ingroup Interface + +Mounts that need refraction adjustments means coordinates returned by a +mount are tainted by refraction and the control system +does not do its own internal refraction adjustments. +For example, the Paramount and the Bisque TCS, return true +from this interface so TheSkyX can act accordingly. + +If a mount does its own, internal,refraction, this means +the coordinates returned from a mount have the effects of refraction removed. An example of such a mount is the Meade LX200. + +What this means under the hood, if an X2 mount object returns true to needsRefactionAdjustments() +1)Upon reading raDec, TheSkyX removes the effects of refraction so the "real" object's location is lower than where the mount is currently, physically pointing to in altitude through the atmosphere. +2)Before syncing a mount to a cataloged coordinate, (setting raDec) TheSkyX adds in the effects of refraction to the cataloged coordinate. This is opposite of #1 - in other words, on sync, intitialize the +control system so that when we read raDec and subsequently remove the effects of refraction, the coordinates are the "real" topocententric coordinates. + +Definintion - refraction is zero at zenith, max positive at horizon (a positive value) + +*/ +class NeedsRefractionInterface +{ +public: + + virtual ~NeedsRefractionInterface(){} + +public: + /*!Return true to have TheSkyX handle refraction, otherwise return false.*/ + virtual bool needsRefactionAdjustments(void) {return true;} + + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h new file mode 100644 index 0000000..bf1f15c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h @@ -0,0 +1,48 @@ +#ifndef _OpenLoopMoveInterface_H +#define _OpenLoopMoveInterface_H + +#ifdef THESKYX_FOLDER_TREE +#include "imagingsystem/hardware/mountbridge/implementor/mountdriverinterface/mountdriverinterface.h"//For MoveDir +#else//TheSkyX X2 Plug In Build +#include "../mountdriverinterface.h"//For MoveDir +#endif + +//This might not be common - move to underneath MountBridge if specific to mounts + +#define OpenLoopMoveInterface_Name "com.bisque.TheSkyX.OpenLoopMoveInterface/1.0" + +/*! +\brief The OpenLoopMoveInterface allows a mount to move at a given rate for a open-ended amount of time. + +\ingroup Interface + +This interface is typically used by TheSkyX to allow a user-interface button to move the mount, where the mount +moves while the button is down, and the mount stops moving when the button is released. +*/ +class OpenLoopMoveInterface +{ +public: + + virtual ~OpenLoopMoveInterface(){} + +public: + /*!Start the open-loop move.*/ + virtual int startOpenLoopMove(const MountDriverInterface::MoveDir& Dir, const int& nRateIndex) = 0; + /*!End the open-loop move. This function is always called for every corresponding startOpenLoopMove(), allowing software implementations of the move.*/ + virtual int endOpenLoopMove(void) = 0; + + /*!Return true if the mount can be commanded to move in more than one perpendicular axis at the same time, otherwise return false.*/ + virtual bool allowDiagonalMoves() { return false;} + + //OpenLoopMove specifics + + /*! Return the number (count) of avaiable moves.*/ + virtual int rateCountOpenLoopMove(void) const = 0; + /*! Return a string along with the amount or size of the corresponding move.*/ + virtual int rateNameFromIndexOpenLoopMove(const int& nZeroBasedIndex, char* pszOut, const int& nOutMaxSize)=0; + /*! Return the current index of move selection. */ + virtual int rateIndexOpenLoopMove(void)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h new file mode 100644 index 0000000..68975a1 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h @@ -0,0 +1,29 @@ +#ifndef _SlewToInterface_H +#define _SlewToInterface_H + +#define SlewToInterface_Name "com.bisque.TheSkyX.SlewToInterface/1.0" + +/*! +\brief The SlewToInterface for mounts. + +\ingroup Interface + +If a X2 mount driver implements this interface, the mount is able to slew to a given RA, dec. +*/ +class SlewToInterface +{ +public: + + virtual ~SlewToInterface(){} + +public: + /*!Initiate the slew.*/ + virtual int startSlewTo(const double& dRa, const double& dDec) = 0; + /*!Called to monitor the slew process. \param bComplete Set to true if the slew is complete, otherwise return false.*/ + virtual int isCompleteSlewTo(bool& bComplete) const = 0; + /*!Called once the slew is complete. This is called once for every corresponding startSlewTo() allowing software implementations of gotos.*/ + virtual int endSlewTo(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h new file mode 100644 index 0000000..416957e --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h @@ -0,0 +1,28 @@ +#ifndef _SymmetricalEquatorialInterface_H +#define _SymmetricalEquatorialInterface_H + +#include "mounttypeinterface.h" + +#define SymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.SymmetricalEquatorialInterface/1.0" + +/*! +\brief The SymmetricalEquatorialInterface for equtorial mounts. + +\ingroup Interface + +This is the default mount type (i.e. an equatorial fork) no implementation is necessary. +\sa AsymmetricalEquatorialInterface +*/ + +class SymmetricalEquatorialInterface +{ +public: + + virtual ~SymmetricalEquatorialInterface(){} + + /*!The default implemtnation returns the appropriate type of mount.*/ + MountTypeInterface::Type mountType(){return MountTypeInterface::Symmetrical_Equatorial;} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h new file mode 100644 index 0000000..77d1501 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h @@ -0,0 +1,27 @@ +#ifndef _SyncMountInterface_H +#define _SyncMountInterface_H + +#define SyncMountInterface_Name "com.bisque.TheSkyX.SyncMountInterface/1.0" + +/*! +\brief The SyncMountInterface for mounts. + +\ingroup Interface + +If a X2 mount driver implements this interface, the mount is able to "synced" and have +its internal RA and declination set to particular values. +*/ +class SyncMountInterface +{ +public: + + virtual ~SyncMountInterface(){} + +public: + /*!Set the mount internal RA and declination.*/ + virtual int syncMount(const double& ra, const double& dec) = 0; + /*!Always return true. If possible, return false when appropriate, if and only if the mount hardware has the ability to know if it has been synced or not.*/ + virtual bool isSynced() =0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h new file mode 100644 index 0000000..75b6907 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h @@ -0,0 +1,49 @@ +#ifndef _TrackingRatesInterface_H +#define _TrackingRatesInterface_H + +#define TrackingRatesInterface_Name "com.bisque.TheSkyX.TrackingRatesInterface/1.0" + +/*! +\brief The TrackingRatesInterface allows X2 mounts to support variable tracking rates. + +\ingroup Interface + +*/ +class TrackingRatesInterface +{ +public: + + virtual ~TrackingRatesInterface(){} + +public: + + /*!Set the tracking rates. + + By nature the TrackingRatesInterface is for mounts the can support variable tracking rates. There are mounts that only have two rates, sidereal rate and off. + A workaround to accomodate these mounts would be to respond only to those two particular cases of setTrackingRates (to see these cases, on the Telescope Tab, + Tools, Turn Sidereal Tracking On and Turn Tracking Off). Otherwise return ERR_COMMANDNOTSUPPORTED for rates that the mount isn't capable of, like + tracking a asteroid, comet, etc. */ + virtual int setTrackingRates( const bool& bTrackingOn, const bool& bIgnoreRates, const double& dRaRateArcSecPerSec, const double& dDecRateArcSecPerSec)=0; + + /*!Turn off tracking. Provided for convenience, merely calls setTrackingRates() function.*/ + virtual int trackingOff() + { + return setTrackingRates( false, true, 0.0, 0.0); + } + /*!Turn on sidereal tracking. Provided for convenience, merely calls setTrackingRates() function.*/ + virtual int siderealTrackingOn() + { + return setTrackingRates( true, true, 0.0, 0.0); + } + + /*!Return the current tracking rates. + + A special case for mounts that can set rates, but not read them... + So the TheSkyX's user interface can know this, set bTrackingOn=false and return both rates as -1000.0. + + Another special case convention, for mounts that can read rates, if bTrackingOn=false and the rates are 15.0410681 +- 0.00001 for ra + and 0 +- 0.00001 for dec, TheSkyX's mount status will say 'Tracking off'*/ + virtual int trackingRates( bool& bTrackingOn, double& dRaRateArcSecPerSec, double& dDecRateArcSecPerSec)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h new file mode 100644 index 0000000..e6910a4 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h @@ -0,0 +1,139 @@ +#if !defined(_MountDriverInterface_H_) +#define _MountDriverInterface_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" +#include "imagingsystem/hardware/interfaces/licensed/mount/needsrefractioninterface.h" +#else//TheSkyX Plug In Build +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#include "../../licensedinterfaces/mount/needsrefractioninterface.h" +#endif + +/*! +\brief The MountDriverInterface allows an X2 implementor to a write X2 mount driver. + +\ingroup Driver + +See the X2Mount for an example. +*/ +class MountDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public NeedsRefractionInterface +{ +public: + /*! MotorState, Paramount only.*/ + enum MotorState + { + MKS_MOTOR_HOMING =(0x0100), + MKS_MOTOR_SERVO =(0x0200), + MKS_MOTOR_INDEXING =(0x0400), + MKS_MOTOR_SLEWING =(0x0800), + MKS_MOTOR_HOMED =(0x1000), + MKS_MOTOR_JOYSTICKING =(0x2000), + MKS_MOTOR_OFF =(0x4000), + MKS_MOTOR_MOVING = (MKS_MOTOR_HOMING | MKS_MOTOR_SLEWING | MKS_MOTOR_JOYSTICKING), + + }; + + /*!Axis, Parmamount only.*/ + enum Axis + { + AXIS_RA = 0, + AXIS_DEC = 1, + }; + + /*!Move direction.*/ + enum MoveDir + { + MD_NORTH = 0, + MD_SOUTH = 1, + MD_EAST = 2, + MD_WEST = 3, + }; + + /*!MoveRate, Parmamount only.*/ + enum MoveRate + { + MR_FLASH = -2, + MR_BASE = -1, + MR_0R5X = 0, + MR_1X = 1, + MR_2X = 2, + MR_4X = 3, + MR_8X = 4, + MR_16X = 5, + MR_32X = 6, + MR_64X = 7, + MR_128X = 8, + MR_256X = 9, + MR_SLEW = 10, + }; + +public: + virtual ~MountDriverInterface(){} + +public: + +// Operations +public: + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_MOUNT;} + 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; + virtual bool isEstablishLinkAbortable(void) const {return false;} + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; + virtual double driverInfoVersion(void) const = 0; + //@} + + // + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; + virtual void deviceInfoModel(BasicStringInterface& str) = 0; + //@} + + //NeedsRefractionInterface + //Don't forget, each mount implementation must return type cast in queryAbstraction + /*! Return true if the mount wants TheSkyX to handle refraction if and only if the mount itself does not internally handle refraction.*/ + virtual bool needsRefactionAdjustments(void) {return true;} + + /*! Return the mechanical or raw right ascension and declination coordinates of the mount. + \param dRawRA is the right ascension coordinate of the mount from 0 to 24. + \param dRawDec is the declination coordinate of the mount from -90 to +90. + \param bCached may be ignored. + \sa NeedsRefractionInterface for clarity on what is meant by "mechanical or raw" coordinates.*/ + virtual int raDec(double& dRawRA, double& dRawDec, const bool& bCached = false) = 0; + /*! Abort any operation currently in progress.*/ + virtual int abort(void) = 0; + +// Implementation +private: + + + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h new file mode 100644 index 0000000..6310155 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h @@ -0,0 +1,128 @@ +#ifndef _MultiConnectionDeviceInterface_H +#define _MultiConnectionDeviceInterface_H + +#define MultiConnectionDeviceInterface_Name "com.bisque.TheSkyX.MultiConnectionDeviceInterface/1.0" + +class BasicStringInterface; + + +/*! +\brief This optional interface, MultiConnectionDeviceInterface, provides X2 implementors a way to make x2 drivers that support +the capacity to accept multiple connections simultaneously without error or conflict (such as multi-device hubs). + +All x2 hardware devices, except cameras, can be made to work with the MultiConnectionDeviceInterface. The MultiConnectionDeviceInterface is +fairly generic solution and allows the sharing of any kinds of interfaces. A common use of this interface is to share a serial port between x2 drivers, +in which case the SerXInterface and it's corresponding IO MutexInterface (namely m_pSerX and m_pIOMutex typically found in x2 examples) are shared +between x2 drivers. Sufficiently motivated and experienced developers should be able to use this to control any kind of shared multi-device interface between +the same kind of devices or even with different devices. + +Some concepts: +- All drivers contain a 'resource' of some kind that allows a connection to their device. + Every instance of the driver that's created should have a copy of this resource. +- The first driver to establish a connection will have their resource copy become active. + Subsequent instances of the driver will have inactive copies of the resource +- Drivers with inactive resources will have a reference to the 'active' resource singleton for device interaction. +- While any drivers are connected, the active reference shall not be closed nor destroyed. TheSkyX will ensure this + by directing the driver holding the active resource to 'trade' it with a driver instance that's remaining active + before the link is terminated. +- This interface leverages and is built on top of the standard LinkInterface which TheSkyX uses as a means to connect/disconnect from all x2 drivers. + +Note, this interface is in use in the field and works for the Optec Lynx Focuser (LynxPlugIn, example code snippets below) where two focusers, one for imager, one for autoguider, +share the same serial port, yet are implemented as two instances of the same dll as the imager focuser and the autoguider focuser in TheSkyX. + +Effectively this interface makes it possible for x2 drivers to share a pointer to a resource or resources between +x2 drivers. The LynxPlugIn shares the SerXInterface and MutexInterface but its not necessarily limited to those pointers nor +devices in kind (for example, a mount could share its usb connection with a focuser). + +Keep in mind that TheSkyX will interface with this driver across different threads, so take care that any calls into a connection resource +must be made thread-safe (usually by also sharing the IO MutexInterface as well). + +Implementing this interface should only be attempted after successfully creating x2 drivers that properly work when connecting to +the resource standalone without sharing. If the case where the driver is used stand alone doesn't function properly there is no possible way +a MultiConnectionDeviceInterface implementation is going to work. In fact, the stand alone case will always be the place to turn +when trouble shooting any problems with this interface. IOW, get the two or more x2 drivers to work stand alone without this interface, and +then a MultiConnectionDeviceInterface implementation will work identially except sharing the desired resource(s). When implementing +this interface for the case of sharing a serial port, basically the correct m_pSerX and m_pIOMutex are put inplace (almost) tranparently to +the x2 driver. + +For this interface to function, TheSkyX build 6812 or later released Thursday March 21, 2013 is required. Earlier builds simply ignore +this interface and sharing resoures is not possible. + +See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. + +\ingroup Interface + +*/ +class MultiConnectionDeviceInterface +{ +protected: + int m_nInstanceCount; + +public: + /*!Since drivers implementing this interface behave like "normal" (they don't share a resource) when m_nInstanceCount is 1, this default + constructor allows earlier builds of TSX to run these drivers even if the actual interface isn't implemented.*/ + MultiConnectionDeviceInterface() + { + m_nInstanceCount = 1; + } + + /*!Implementors should return a string identifier unique to this specific physical device or known connection sharing setup. + If multiple instances of the driver are in use, drivers that return identical identifiers will be treated as if they + represent connections to the same physical device. Drivers returning different identifier strings will + continue to be treated as separate pieces of hardware. + + Drivers also implementing SerXInterface will additionally be checked by TheSkyX to see if they share the same + serial port (or TCP/IP address and port combination) or not and act accordingly. + + Here is example code from the LynxPlugIn driver: + \snippet lynxplugin.cpp deviceIdentifier + + */ + virtual int deviceIdentifier(BasicStringInterface &sIdentifier) = 0; + + + /*! TheSkyX will call this function once immediately before LinkInterface::establishLink(), then again any time the number of + drivers connecting to the same physical device as this one changes. If this is the first driver connecting + to the device, nInstanceCount will be 1. No driver will ever see a '0' value. + + This function can be implemented in order to perform any additional initialization that may be necessary + when the first connection is established. + */ + virtual int setInstanceCount(const int &nInstanceCount) + { + m_nInstanceCount = nInstanceCount; + return 0; + } + + /*! Although some devices may support multiple connections, they may not support them in unlimited numbers. TheSkyX will + call this function before a connection attempt is made to allow the driver to determine if it will be able to successfully attach + to the shared resource. + + For example, a camera/filter wheel combination device may support one camera connection and one filter wheel + device simultaneously. If the peer array already contains both a camera and a filter wheel, bConnectionPossible should be set to false. + + Here is example code from the LynxPlugIn driver: + \snippet lynxplugin.cpp isConnectionPossible + */ + virtual int isConnectionPossible(const int &nPeerArraySize, MultiConnectionDeviceInterface **ppPeerArray, bool &bConnectionPossible) = 0; + + /*! + If the driver determines that a connection is possible, TheSkyX will call this function tell the driver which of its peers + holds the resource that should be used to connect. pPeer will be equal to the 'this' pointer for the first driver to connect. + + Here is example code from the LynxPlugIn driver: + \snippet lynxplugin.cpp useResource + */ + virtual int useResource(MultiConnectionDeviceInterface *pPeer) = 0; + + /*! + TheSkyX will call this function on the driver controlling the active resource immediately before the driver is disconnected. The + driver should 'swap' its (active) resource with the inactive one held by its peer. In this way, the active resource may remain + active without interruption when this instance's link is terminated. + Here is example code from the Lynx driver: + \snippet lynxplugin.cpp swapResource + */ + virtual int swapResource(MultiConnectionDeviceInterface *pPeer) = 0; +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mutexinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mutexinterface.h new file mode 100644 index 0000000..7b169e7 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h new file mode 100644 index 0000000..eb86743 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h @@ -0,0 +1,34 @@ +#ifndef _NoShutterInterface_H +#define _NoShutterInterface_H + +#define NoShutterInterface_Name "com.bisque.TheSkyX.NoShutterInterface/1.0" + +/*! +\brief The NoShutterInterface allows camera drivers to report to TheSkyX if a camera does not have a shutter, primarily for use in the acquisition of dark frames. + +\ingroup Interface + +This interface is optional. By default, TheSkyX assumes a camera has a shutter and if that is true this interface isn't important. The NoShutterInterface allows +camera drivers to report to TheSkyX if a camera does not have a shutter. Camera drivers implementing this interface and returning 'false' for bHasShutter when queried +for shutter will cause TheSkyX to prompt the user to manually cover their telescope for all dark frames. + +The NoShutterInterface can even return true for bHasShutter allowing for unified code for single x2 drivers that support multiple camera models, with and without shutters. + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class NoShutterInterface +{ +public: + + virtual ~NoShutterInterface(){} + +public: + //NoShutterInterface + /*!TheSkyX calls this function to query the driver reguarding the existance of its controlled camera's shutter.*/ + virtual int CCHasShutter(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, bool &bHasShutter)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h new file mode 100644 index 0000000..4e87d5e --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h @@ -0,0 +1,35 @@ +#ifndef _ParkInterface_H +#define _ParkInterface_H + +#define ParkInterface_Name "com.bisque.TheSkyX.ParkInterface/1.0" + +/*! +\brief The ParkInterface allows domes and mounts to be parked. + +\ingroup Interface + +This interface is optional. At this time TheSkyX only queries domes and mounts for implementation of this interface. +In the future, other devices may be queried for implementation of this interface if and when parking ever exists on these devices. + +\sa UnparkInterface +*/ +class ParkInterface +{ +public: + + virtual ~ParkInterface(){} + +public: + + /*!Return true if the device is parked.*/ + virtual bool isParked(void) {return false;} + /*!Initiate the park process.*/ + virtual int startPark(const double& dAz, const double& dAlt)= 0; + /*!Called to monitor the park process. \param bComplete Set to true if the park is complete, otherwise set to false.*/ + virtual int isCompletePark(bool& bComplete) const = 0; + /*!Called once the park is complete. This is called once for every corresponding startPark() allowing software implementations of park.*/ + virtual int endPark(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h new file mode 100644 index 0000000..1734791 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h @@ -0,0 +1,34 @@ +#ifndef _PixelSizeInterface_H +#define _PixelSizeInterface_H + +#define PixelSizeInterface_Name "com.bisque.TheSkyX.PixelSizeInterface/1.0" + +/*! +\brief The PixelSizeInterface allows camera drivers to provide the physical pixel size in microns. + +\ingroup Interface + +This interface is optional. TheSkyX queries cameras for implementation of this interface +and if supported will populate the FITS header with the returned pixel size. Don't forget to +respond accrodingly in queryAbstraction(). TheSkyX will only query for this inteferface +after successfully connecting to the camera with CCEstablishLInk(). + +Drivers should always return the size of the pixel in 1x1 binning and in microns. When +populating the FITS header, TheSkyX will adjust the size according to the bin mode +in effect. +*/ + +class PixelSizeInterface +{ +public: + + virtual ~PixelSizeInterface(){} + +public: + //PixelSizeInterface + /*!Return the physical pixel size in 1x1 binning and in microns.*/ + virtual int PixelSize1x1InMicrons(const enumCameraIndex& Camera, const enumWhichCCD& CCD, double& x, double& y)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h new file mode 100644 index 0000000..e46945f --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h @@ -0,0 +1,64 @@ +#ifndef _PreExposureTaskInterface_H +#define _PreExposureTaskInterface_H + +#define PreExposureTaskInterface_Name "com.bisque.TheSkyX.PreExposureTaskInterface/1.0" + +/*! +\brief The PreExposureTaskInterface gives cameras a way to inform TheSkyX when executing CameraDriverInterface::CCStartExposure +will take longer than dExposureDuration. + +\ingroup Interface + +This interface is optional. By default, when an exposure is triggered, TheSkyX will display a countdown showing when the +exposure duration set by the user has ellapsed. However, many cameras have additional functions (such as RBI, mirror lock, etc) +that can cause the process of taking an image to take substantially longer than the exposure itself. + +Implementing this interface provides camera driver producers a way to cause TheSkyX to display additional progress bars +before the actual 'exposure' progress bar. + +Note that TheSkyX will continue to rely on CCIsExposureComplete to determine when an exposure has actually finished, any times +reported by this interface will be used for display purposes only. Implementing this interface does NOT change the actual sequence +of events that take place during an exposure, but can provide useful feedback to the user. + +There are two types of preexposure task that this interface deals with independantly: +Type 1) Blocking tasks that must take place before CCStartExposure begins +Type 2) Nonblocking tasks that occur after CCStartExposure begins, but while CCIsExposureComplete is "false" + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class PreExposureTaskInterface +{ +public: + + virtual ~PreExposureTaskInterface(){} + +public: + //PreExposureTaskInterface + + /* These functions provide status text for Type (1) pre-exposure tasks that take place BEFORE CCStartExposure is called. */ + + /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ + virtual int CCGetBlockingPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ + virtual int CCGetBlockingPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; + + /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ + virtual int CCExecuteBlockingPreExposureTask(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex)=0; + + /* These functions provide status text for Type (2) pre-exposure tasks that take place AFTER CCStartExposure is called */ + + /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ + virtual int CCGetPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ + virtual int CCGetPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, double &dDuration, BasicStringInterface &sName)=0; + + /*For cameras that also implement ExtendedCameraInterface, this function will be called to let the camera know which additional argument index will be used + Cameras without this interface may leave the provided default implementation as-is*/ + virtual int CCSetAdditionalArgInterface(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int &nIndex) { return 0 /*SB_OK*/; } +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h new file mode 100644 index 0000000..c957bd3 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h @@ -0,0 +1,80 @@ +#ifndef _RotatorDriverInterface_H +#define _RotatorDriverInterface_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 "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#endif + +class BasicStringInterface; + +/*! +\brief The RotatorDriverInterface allows an X2 implementor to a write X2 rotator driver. + +\ingroup Driver + +See the X2Rotator for an example. +*/ +class RotatorDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface +{ +public: + virtual ~RotatorDriverInterface(){} + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_ROTATOR;} + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; + virtual double driverInfoVersion(void) const = 0; + //@} + + // + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; + virtual void deviceInfoModel(BasicStringInterface& str) = 0; + //@} + + /*!\name LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) = 0; + virtual int terminateLink(void) = 0; + virtual bool isLinked(void) const = 0; + virtual bool isEstablishLinkAbortable(void) const {return false;} + //@} + + /*!Return the position of the rotator.*/ + virtual int position(double& dPosition) = 0; + /*!Abort any operation in progress.*/ + virtual int abort(void) = 0; + + /*!Initiate the rotator goto.*/ + virtual int startRotatorGoto(const double& dTargetPosition) = 0; + /*!Called to moitor the goto process. \param bComplete Set to true if the goto is complete, otherwise set to false.*/ + virtual int isCompleteRotatorGoto(bool& bComplete) const = 0; + /*!Called after the goto process is complete. This is called once for every corresponding startRotatorGoto() allowing software implementations of gotos.*/ + virtual int endRotatorGoto(void) = 0; + + +}; + + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sberrorx.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sberrorx.h new file mode 100644 index 0000000..fb8ca69 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h new file mode 100644 index 0000000..07c357c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h @@ -0,0 +1,84 @@ +#ifndef _SerialPortParams2Interface_H +#define _SerialPortParams2Interface_H + +#ifdef THESKYX_FOLDER_TREE +#include "../staticlibs/serx/serxinterface.h" +#include "components/basicstring/basicstringinterface.h" +#elif X2_FLAT_INCLUDES +#include "serxinterface.h" +#include "basicstringinterface.h" +#else +#include "../../licensedinterfaces/serxinterface.h" +#include "../../licensedinterfaces/basicstringinterface.h" +#endif + +#define SerialPortParams2Interface_Name "com.bisque.TheSkyX.SerialPortParams2Interface/1.0" + +/*! +\brief The SerialPortParams2Interface is a cross-platform interface to common serial port parameters. + +\ingroup Interface + +For serial devices, implementing this interface causes TheSkyX to display a general serial port +settings user interface for setting serial port parameters. +This does not encompass all serial port parameters for all operating systems, but does cover the +most common serial port settings applied to astronomical hardware. + +New to TheSkyX Version 10.1.10 (build 4443 and later) a "More Settings" button appears on TheSkyX's +general "Serial Port Settings" dialog if the underlying X2 driver also implements the ModalSettingsDialogInterface. +This allows X2 drivers to leverage TheSkyX's general "Serial Port Settings" dialog while also having +a custom user interface that is displayed when the "More Settings" button is pressed. +In prior TheSkyX builds, the ModalSettingsDialogInterface and SerialPortParams2Interface +where mutually exclusive but that is no longer the case and X2 implementor don't need to duplicate +the serial port settings in their custom user interface. +*/ + +class SerialPortParams2Interface +{ +public: + + virtual ~SerialPortParams2Interface(){} + +public: + /*!Return serial port name as a string.*/ + virtual void portName(BasicStringInterface& str) const = 0; + /*!Set the serial port name as a string.*/ + virtual void setPortName(const char* szPort) = 0; + + /*!Return the buad rate.*/ + virtual unsigned int baudRate() const = 0; + /*!Set the baud rate.*/ + virtual void setBaudRate(unsigned int) = 0; + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isBaudRateFixed() const = 0; + + /*!Return the parity.*/ + virtual SerXInterface::Parity parity() const = 0; + /*!Set the parity.*/ + virtual void setParity(const SerXInterface::Parity& parity)= 0; + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isParityFixed() const = 0;//Generic serial port ui will hide if fixed + + /*!Return the number of data bits.*/ + virtual int dataBits() const {return 8;} + /*!Set the number of data bits.*/ + virtual void setDataBits(const int& nValue){(void)nValue;} + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isDataBitsFixed(){return true;} + + /*!Return the number of stop bits.*/ + virtual int stopBits() const {return 1;} + /*!Set the number of stop bits.*/ + virtual void setStopBits(const int& nValue){(void)nValue;} + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isStopBitsFixed(){return true;} + + /*!Return the flow control. Zero means no flow control.*/ + virtual int flowControl() const {return 0;} + /*!Set the flow control.*/ + virtual void setFlowControl(const int& nValue){(void)nValue;} + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isFlowControlFixed(){return true;} +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serxinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serxinterface.h new file mode 100644 index 0000000..b433982 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/sleeperinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sleeperinterface.h new file mode 100644 index 0000000..4d0f9e1 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h new file mode 100644 index 0000000..f920c83 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h @@ -0,0 +1,48 @@ +#ifndef _SubframeInterface_H +#define _SubframeInterface_H + +#define SubframeInterface_Name "com.bisque.TheSkyX.SubframeInterface/1.0" + +/*! +\brief The SubframeInterface allows camera drivers to enable subframe support. + +\ingroup Interface + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +and if supported the user interface in TheSkyX for taking subframe images from cameras is enabled. +Don't forget to respond accordingly in your queryAbstraction(). + +Warning, this interface represents a new, different and mutually exlusive implementation of +CameraDriverInterface::CCSetBinnedSubFrame(). The initial release of TheSkyX didn't allow subframes, however, the +CameraDriverInterface did have the CCSetBinnedSubFrame() and it was called. + +As of build 6200, TheSkyX supports camera subframes (along with autoguiding). To avoid the possibility of breaking existing x2 camera drivers that +may have utilized the information TheSkyX sent in the original call to CameraDriverInterface::CCSetBinnedSubFrame() and or +were never tested with different subframe sizes, implementation of this SubframeInterface is required to enable subframes. +This way published drivers cannot be "broken" and those drivers will have to be "upgraded" to allow subframe support in TheSkyX. + +Please note, CCSetBinnedSubFrame3 call below is different because the last two parameters are +width and height instead of bottom and right as in the original CCSetBinnedSubFrame(). + +If published drivers actually use the information sent by TheSkyX's original call to +CameraDriverInterface::CCSetBinnedSubFrame(), in order to maintain backward compatibility with older +versions of TheSkyX, drivers will still need to work with the old call CCSetBinnedSubFrame() +plus going forward, implement this SubframeInterface. + +*/ + +class SubframeInterface +{ +public: + + virtual ~SubframeInterface(){} + +public: + //SubframeInterface + /*!TheSkyX calls this fuunction to give the driver the size of the subframe in binned pixels. If there is no subframe, the size represents the entire CCD. + For example, a CCD chip that has a width of 1500 pixels and a height of 1200 will have 0,0,1500,1200 for left, top, nWidth, nHeight.*/ + virtual int CCSetBinnedSubFrame3(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int& nLeft, const int& nTop, const int& nWidth, const int& nHeight)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/theskyxfacadefordriversinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/theskyxfacadefordriversinterface.h new file mode 100644 index 0000000..09d4406 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/tickcountinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/tickcountinterface.h new file mode 100644 index 0000000..3117837 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/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/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h new file mode 100644 index 0000000..7a2a6b5 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h @@ -0,0 +1,34 @@ +#ifndef _UnparkInterface_H +#define _UnparkInterface_H + +#define UnparkInterface_Name "com.bisque.TheSkyX.UnparkInterface/1.0" + +/*! +\brief The UnparkInterface allows domes and mounts to be unparked. + +\ingroup Interface + +At this time TheSkyX only queries domes and mounts for implementation of this interface. +In the future, other devices may be queried for implementation of this interface if and when unparking ever exists on these devices. +This interface is optional. + +\sa ParkInterface +*/ + +class UnparkInterface +{ +public: + + virtual ~UnparkInterface(){} + +public: + /*!Initiate the park process.*/ + virtual int startUnpark(void) = 0; + /*!Called to monitor the unpark process. \param bComplete Set to true if the unpark is complete, otherwise set to false.*/ + virtual int isCompleteUnpark(bool& bComplete) const = 0; + /*!Called once the unpark is complete. This is called once for every corresponding startUnpark() allowing software implementations of unpark.*/ + virtual int endUnpark(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h new file mode 100644 index 0000000..980f64d --- /dev/null +++ b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h @@ -0,0 +1,239 @@ +#ifndef _X2GUIInterface_H +#define _X2GUIInterface_H + +#define X2GUIInterface_Name "com.bisque.TheSkyX.X2GUIInterface/1.0" + +#ifdef THESKYX_FOLDER_TREE +#include "driverrootinterface.h" +#include "components/theskyxfacadefordrivers/theskyxfacadefordriversinterface.h" +#else +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/theskyxfacadefordriversinterface.h" +#endif + +/*! +\ingroup GUI + +\brief The X2GUIExchangeInterface provides the X2 developer the means to get and set data from a graphical user interface (X2GUIInterface) + +The X2GUIInterface returns this interface so X2 developer can set/get data from a X2GUIInterface. + +*/ +class X2GUIExchangeInterface +{ +public: + + virtual ~X2GUIExchangeInterface (){} + +public: + /*! Call this to set text user interface control values*/ + virtual void setText(const char* pszObjectName, const char* pszValue) = 0; + /*! Retreive the text values from user interface controls*/ + virtual void text(const char* pszObjectName, char* pszOut, const int& nOutMaxSize) = 0; + + /*! Enable the user interface control*/ + virtual void setEnabled(const char* pszObjectName, const bool& bEnabled) = 0; + /*! See if the user interface control is enabled*/ + virtual bool isEnabled(const char* pszObjectName) = 0; + + /*! Set the current index on list type user interface controls, like a combo box.*/ + virtual void setCurrentIndex(const char* pszObjectName, const int & nValue) = 0; + /*! Get the current index on list type user interface controls, like a combo box.*/ + virtual int currentIndex(const char* pszObjectName) = 0; + + /*! Check a user interface controls, like a radio button.*/ + virtual void setChecked(const char* pszObjectName, const int & nValue) = 0; + /*! Get if a user interface controls is checked, like a radio button.*/ + virtual int isChecked(const char* pszObjectName) = 0; + + /*! Append a string to a combo box list.*/ + virtual void comboBoxAppendString(const char* pszControlName, const char* pszValue) = 0; + + /*! Set the text of a table widget.*/ + virtual void tableWidgetSetItem(const char* pszControlName, const int& nRow, const int& nCol, const char* pszValue) = 0; + /*! Get the text of a table widget.*/ + virtual void tableWidgetGetItem(const char* pszControlName, const int& nRow, const int& nCol, char* pszValue, const int& nOutMaxSize) = 0; + /*! Get the current row of a table widget.*/ + virtual void tableWidgetCurrentRow(const char* pszControlName, int& nRow) = 0; + /*! Get the current column of a table widget.*/ + virtual void tableWidgetCurrentCol(const char* pszControlName, int& nCol) = 0; + /*! Remove a row of a table widge.t*/ + virtual void tableWidgetRemoveRow(const char* pszControlName, const int& nRow) = 0; + /*! Remove a column of a table widget.*/ + virtual void tableWidgetRemoveCol(const char* pszControlName, const int& nCol) = 0; + + /*! Display a message box.*/ + virtual void messageBox(const char* pszTitle, const char* pszMessage) = 0; + + /*! Call an arbitrary method (signal or slot, not properties) with no argument or one argument (double, int or string)*/ + virtual bool invokeMethod(const char* pszObjectName, const char* pszMethodName, + char* pszReturn=NULL, const int& nReturnMaxSize=0, + const char* pszArg1=NULL)=0; + + /*! Set a text property of a user inteface control.*/ + virtual void setPropertyString(const char* pszObjectName, const char* pszPropertyName, const char* pszValue) = 0; + /*! Get a text property of a user inteface control.*/ + virtual void propertyString(const char* pszObjectName, const char* pszPropertyName, char* pszOut, const int& nOutMaxSize) = 0; + + /*! Set an integer property of a user inteface control.*/ + virtual void setPropertyInt(const char* pszObjectName, const char* pszPropertyName, const int & nValue) = 0; + /*! Get an integer property of a user inteface control.*/ + virtual void propertyInt(const char* pszObjectName, const char* pszPropertyName, int& nValue) = 0; + + /*! Set an double property of a user inteface control.*/ + virtual void setPropertyDouble(const char* pszObjectName, const char* pszPropertyName, const double& dValue) = 0; + /*! Get an double property of a user inteface control.*/ + virtual void propertyDouble(const char* pszObjectName, const char* pszPropertyName, double& dValue) = 0; +}; + +#define X2GUIEventInterface_Name "com.bisque.TheSkyX.X2GUIEventInterface/1.0" +/*! +\ingroup GUI + +\brief The X2UIEventsInterface notifies X2 implementors when user interface events happen. + +X2 implementors can implement this interface to be notified when user interface events happen. +*/ +class X2GUIEventInterface +{ +public: + + /*! Take what ever action is necessary when a user interface event happens, for example, the user pressed a button. \param pszEvent The name of the event that occured following the convention "on__".*/ + virtual void uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent)=0; + +}; + +/*! +\ingroup GUI + +\brief The X2GUIInterface allows X2 implementors to display a customized, cross platform, graphical user interface. + +TheSkyX Build 4174 or later is required for all X2GUI type interfaces. + +When making a graphical user interface associated with a cross platform device driver, the developer is faced with basically two options. + +Option A: the developer could write and maintain native GUI code specific to each operating system. While this is a perfectly valid +solution, the code is difficult to maintain and native GUI expertise/experience is required on all supported operating systems. + +Option B: the developer could use a cross platform graphical user interface library, for +example qt or wxWidgets, to make their graphical user interface. Again a perfectly valid solution, but then the distribution of +any associated GUI libraries falls on the driver developer and if not done carefully, dll $#&& will result (especially in a plug in +architecture). + +Option C: The X2 standard offers a third option when a driver developer is faced with the problem of creating custom graphical user interface +associated with the hardware, that works on multiple operating systems. +X2 developer can use the X2GUIInterface to have TheSky display their own, modal, custom, graphical user interface that is cross platform. +The X2GUIInterface is windowing library agnostic, it does not expose or depend on any cross platform GUI library or windowing code +native to any operating system. The consequence is that X2 drivers using the X2GUIInterface are more or less encapsulated +as far as the GUI goes. So development, distribution and maintenance are greatly simplified. There is of course some overhead in learning the +X2GUIInterface, but the code samples show how to do it. + +The X2GUIInterface requires creating the graphical user interface file with qt's Designer (an open source copy of +Designer (designer.exe) is included in the X2 samples in the footer). The X2 developer distributes +the .ui created by Designer and TheSkyX loads this user interface dynamically at run time. Graphical user interface events are +supported through the X2GUIEventInterface. Qt's Designer is only required at design time by the X2 developer for the creation +of the X2 user interface. The X2 developer does not need to worry about distribution of any qt binaries at run time because +X2 is not dependent upon qt. Please note that the .ui created in this way is considered open source and since the +.ui is visible in TheSkyX anyway there isn't much intellectual property disclosed. + +There are a few rules when using qt's Designer to create a .ui file compatible with X2GUIInterface: + +-# All controls must be placed within a QFrame, promoted to an X2Form via the x2form.h and named X2Form (code samples do this for you). +-# If you need access to GUI events through the X2GUIEventInterface, keep the default object name that qt Designer creates when dropping user interface +controls inside the X2Form (for example, the first radio button is named "radioButton", the second is "radioButton_2", etc). + +Please note, that not every control and not every event from every control is supported. Never-the-less, the most common ones are supported. +Between the X2GUIExchangeInterface and using qt's Designer to set user interface control properties, a nice GUI can be created with +a fairly broad range of capabilities. + +Declare a local instance of the X2ModalUIUtil class to obtain this interface. See the X2Camera for a complete end to end example of +creating a graphical user interface, setting control values, responding to GUI events and retrieving control values. + +\sa X2ModalUIUtil +*/ + +class X2GUIInterface +{ +public: + + virtual ~X2GUIInterface(){} + +public: + //X2GUIInterface + + /*! Set the name of the Qt user interface file (.ui) that defines your custom user interface. This must be called before calling exec(). The .ui file goes into the same folder as the binary (shared library) of the driver.*/ + virtual int loadUserInterface(const char* pszFileName, const int& dt, const int& nISIndex)=0; + + /*! Returns the X2GUIExchangeInterface associated with this user-interface. */ + virtual X2GUIExchangeInterface* X2DX()=0; + + /*! Display the user interface.*/ + virtual int exec(bool& bPressedOK)=0; + +}; + +/*! +\ingroup GUI + +\brief The X2ModalUIUtil class supplies the X2 developer with the X2GUIInterface interface. + +Declare a local instance of this class to obtain a X2GUIInterface. See the X2Camera for an example. + +The implementation of this class merely assures proper intialization and cleanup of the X2GUIInterface and should not be changed. + +\sa X2Camera +*/ +class X2ModalUIUtil +{ + +public: + /*! Constructor */ + X2ModalUIUtil(DriverRootInterface* pCaller, TheSkyXFacadeForDriversInterface* pTheSkyX) + { + m_pTheSkyX = pTheSkyX; + m_pX2UI = NULL; + m_pX2UIEvent = NULL; + if (pCaller) + pCaller->queryAbstraction(X2GUIEventInterface_Name, (void**)&m_pX2UIEvent); + X2UI(); + } + + /*! Obtain the X2GUIInterface*/ + X2GUIInterface* X2UI() + { + int nErr; + + if (NULL == m_pX2UI && m_pTheSkyX) + { + if ((nErr = m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::GET_X2UI, m_pX2UIEvent, &m_pX2UI))) + return NULL; + } + return m_pX2UI; + } + + /*! Obtain the X2GUIExchangeInterface*/ + X2GUIExchangeInterface* X2DX() + { + if (NULL != m_pX2UI) + { + return m_pX2UI->X2DX(); + } + return NULL; + } + + ~X2ModalUIUtil() + { + if (m_pTheSkyX) + { + if (m_pX2UI) + m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::UNGET_X2UI, NULL, &m_pX2UI); + } + } + +private: + TheSkyXFacadeForDriversInterface* m_pTheSkyX; + X2GUIInterface* m_pX2UI; + X2GUIEventInterface* m_pX2UIEvent; +}; + +#endif \ No newline at end of file From 1ea68567db45bc2b9534bdea519be09f12e5fa5c Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:44:03 +1000 Subject: [PATCH 02/13] DomePro serial device driver example --- .../X2-DomePro-master/Astrometric.png | Bin 0 -> 35929 bytes .../X2-DomePro-master/DomePro.iss | 70 + .../DomePro.xcodeproj/project.pbxproj | 328 ++ .../contents.xcworkspacedata | 7 + .../X2-DomePro-master/INSTALL.TXT | 5 + .../X2-DomePro-master/INSTALL_RPI.TXT | 3 + .../X2-DomePro-master/INSTALL_Ubuntu.TXT | 3 + .../X2-DomePro-master/Makefile | 27 + .../X2-DomePro-master/UI_map.h | 124 + .../X2-DomePro-master/domelist DomePro.txt | 3 + .../X2-DomePro-master/domepro.cpp | 3005 +++++++++++++++++ .../X2-DomePro-master/domepro.h | 391 +++ .../X2-DomePro-master/domepro.ui | 545 +++ .../X2-DomePro-master/domeprodiag.ui | 453 +++ .../X2-DomePro-master/domeshutter.ui | 716 ++++ .../X2-DomePro-master/dometimeouts.ui | 362 ++ .../installer/Scripts/postinstall | 41 + .../X2-DomePro-master/installer/build.sh | 20 + .../installer/linux_install.sh | 46 + .../installer/rpi_install.sh | 46 + .../libDomePro/libDomePro.sln | 28 + .../libDomePro/libDomePro.vcxproj | 165 + .../libDomePro/libDomePro.vcxproj.filters | 39 + .../licensedinterfaces/addfitskeyinterface.h | 51 + .../basiciniutilinterface.h | 45 + .../licensedinterfaces/basicstringinterface.h | 29 + .../cameradependentsettinginterface.h | 69 + .../cameradriverinterface.h | 201 ++ .../licensedinterfaces/deviceinfointerface.h | 34 + .../licensedinterfaces/domedriverinterface.h | 100 + .../licensedinterfaces/driverinfointerface.h | 28 + .../licensedinterfaces/driverrootinterface.h | 51 + .../driverslewstoparkpositioninterface.h | 29 + .../extendedcamerainterface.h | 67 + .../filterwheeldriverinterface.h | 75 + .../filterwheelmovetointerface.h | 81 + .../focuser/focusergotointerface2.h | 63 + .../focuser/focusertemperatureinterface.h | 32 + .../focuserdriverinterface.h | 82 + .../focusergotointerface2.h | 63 + .../focusertemperatureinterface.h | 32 + .../licensedinterfaces/gpsinterface.h | 41 + .../hardwaremodeloverride.h | 43 + .../licensedinterfaces/linkinterface.h | 40 + .../licensedinterfaces/loggerinterface.h | 72 + .../modalsettingsdialoginterface.h | 37 + .../mount/asymmetricalequatorialinterface.h | 195 ++ .../mount/linkfromuithreadinterface.h | 31 + .../mount/mounttypeinterface.h | 44 + .../mount/needsrefractioninterface.h | 42 + .../mount/openloopmoveinterface.h | 48 + .../mount/slewtointerface.h | 29 + .../mount/symmetricalequatorialinterface.h | 28 + .../mount/syncmountinterface.h | 27 + .../mount/trackingratesinterface.h | 49 + .../licensedinterfaces/mountdriverinterface.h | 139 + .../multiconnectiondeviceinterface.h | 128 + .../licensedinterfaces/mutexinterface.h | 60 + .../licensedinterfaces/noshutterinterface.h | 34 + .../licensedinterfaces/parkinterface.h | 35 + .../licensedinterfaces/pixelsizeinterface.h | 34 + .../preexposuretaskinterface.h | 64 + .../rotatordriverinterface.h | 80 + .../licensedinterfaces/sberrorx.h | 499 +++ .../serialportparams2interface.h | 84 + .../licensedinterfaces/serxinterface.h | 112 + .../licensedinterfaces/sleeperinterface.h | 23 + .../licensedinterfaces/subframeinterface.h | 48 + .../theskyxfacadefordriversinterface.h | 84 + .../licensedinterfaces/tickcountinterface.h | 30 + .../licensedinterfaces/unparkinterface.h | 34 + .../licensedinterfaces/x2guiinterface.h | 239 ++ .../X2-DomePro-master/main.cpp | 44 + .../X2-DomePro-master/main.h | 27 + .../X2-DomePro-master/rti_zone_logo.ico | Bin 0 -> 23982 bytes .../X2-DomePro-master/x2dome.cpp | 1316 ++++++++ .../X2-DomePro-master/x2dome.h | 204 ++ 77 files changed, 11603 insertions(+) create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/Astrometric.png create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/DomePro.iss create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/DomePro.xcodeproj/project.pbxproj create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/DomePro.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui create mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall create mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh create mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh create mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basiciniutilinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basicstringinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/deviceinfointerface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/domedriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverinfointerface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverrootinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/linkinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/loggerinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mutexinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sberrorx.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serxinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sleeperinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/theskyxfacadefordriversinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/tickcountinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/main.h create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/rti_zone_logo.ico create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp create mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/Astrometric.png b/domehunter/protos/example_domepro_driver/X2-DomePro-master/Astrometric.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c178bc1f644fc513ef3d55b7d383b886aed6ff GIT binary patch literal 35929 zcmV*^Kr6qAP)KLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3G}Nk)ASN;XB>*OYxCtR&i4+S#wj%^c>V8-LMswZJ??h!-mA_T)Rg8az?`K0eNKB*@ znrnNn6%&m?M2yo2zP2*Y5uc^LPWb*VMezMX`mV3}EUJBuIxpU&NkjR&2tNZUg3oHg zd-r{Ytn&KGy&AzeudGWEe8!b$<6kooW2?MQvp&>+)%Bvzd*GgYL#zBS2|q-?@e`1U+Z2oO@b#qs-bHx9MQz@w1z+A!sv!{SXZjb0 z2!4K~@wvc_UTrLa-wC~O4Qx0g;@OG+ogvcwJv0aYO{KY(I!97-t*Xyxg3nfsGwQRA z8V?b37`29#!!`2I0l)&j4BQW#E&tL))RkX*5AZ#pYy6E;xdyKF3CyVsk2~^9gs&O; zUTO@Fe@;Y{wF}z=&E>QoE`0Z@KH%~%1SArIWYVNq^k2pZzE>!xl+;*pl(9ulnw)si ztEazqAw_L|LD;nuRlFwee$@qBnJN+XuJ9Su%6v$@!3aIPs4@9Aq<`LpI`692;yXe8 z22J>`rJlqg1L?n>ZbJjY(0IfVa}x4G(0e+O-t9#57qGgQ0PBF~fL_1fbt#g615)Fg z(D7YQ1{aF-ewLceEamv?E5^eAyYl-{!US&vO98?O8n*J^@QtnfZDlM%W0<67?MP*V zNzKWpF>JP^Yf^pCRh777kxa0Gm4)RqD%#J|UPp$Xb6~78d@c3Y(m(gQ@J&XK$M0rJ z88Kw3`C$Jrr6xQQ%KL==y}FGirS>iQHRD^8{)0$HOux{bu>PS+<#$rKPpPag-J#?= zxXSYi6U;FaJU=nPI^PGru9{e%3l*}4M%a=|y&-jfcHG!dYBrAwCh9Do^gnntT#*+Tm&ow-g>T^@z;Wo9 z)JR=j8r$-FG>Tyh#Cgi1ky2TBLRkpD_)$h#djIQ;;I(z2Y9$ud#Y8IRA~oKRh(29~ z;fr?(J_D&+2O`=-4P4yNcmkq&n5Q%L6NQ<9ut8K=6C&b3kqXc!tFJR{i0D5gR1nvH z5Qv~RETRB-|7XaF;_*9xt{AWmArpExh~P#jpTbh0J-z~`oid2Z0&{#Ina>CFPiDY! z3;oZ5Iq-uo(ia!|$00RwuQI;CDdG4QW1cIoyqb}b9HnAWS^P>o>34IbR6r>ibpM3! z=gQ|f;mswaChOw8UdmvcDU`XFieb|kNTGRNIxh|-3_x-1WjX$p3V`LC6H#qp>Yj}V ze}@0SkcyG=$M;eRKm34Y$lw`aVjjOJ@&Xot|C|HMo!^z;{5dI1Cg)>r(2dNU; zIEuRpP-4}}dGz;>A)Qk2^YCq8|ALpw-zC8ml~CP5{~XA0EbreCLUnP~xL^80Buz*m zHS-{&41;nKsoskUmPyqklNwk>R&lj2G~TW9w!qw~r@ags?|?y7_kftdlN8m5EQDex z343=^*$z@FCp{7CK<~T;y@Lp^-u-F?W*Hz8q0vbtKCkw0M74(~!$v?#Wg`3lmkh^a zQUwX6Cfb?Z0v~1daG(OvShTfIqPeMtGiQgDcw9YQqhf0Ry@??3hz=8&2#-L2 z|5BG_^m}D89G<9i<-b_Kftp~`>eh-1REi4$OQS+Q!ka1bKoXj42;rva$$7{;QMJh%t;F0U>qmruEW(_J|NuxRvp`^uhK$&!^ELIfsRRKW! z8(v17OsEUXztQ}lr2>`+#b|`Q520B+QnQ%yTy^zYYHMmaed@dtrf5F1@}CplI4S_7 zBJ!e&3m5QssA4cw%P;h4&8nxc&~G{+f?gL&M#8^11Ne|&;x8HPUFy6>p#$a=4@k`p z>6WQbK)VY;-US*1r^NVD0Y;@7rs&4t;~MzE^-zkOX!l;KfM~V7Sw`T5X7LL-?hc23 zuP$7vY*t5;f>T{f8Jr~lrYWcTw5Y!%L^!IXO=QHzRMJ;6Dy&h)=|~JS!9^D>;q;k4 zhKB~nae)A!ql6j$xIDxys1`aYA(Rk$BtEn${8&oaYmy4aA~oqqp)n#6hDQk3*h`@w zyFc6rx&Myu0FlvvZYUEW^;lrQuq(zWu)KwS{rZhq07H@C&8giszI7;dX=WMZ%LIP* z5vbHuqL2#qAS0q6sT|0vp@`xMgujgN0+brd?a#gIP8q3p`=sV{muh?_y@jPbbVPWO zNujxh6Fi~Rg)bBkQ$&Oi+6l5~X>I0`^~*ST=p<4WgIJN2(fN8Q!!BpY@X2sWD$3;NK8ZHS*F&%u-@m9S9u&@l=B*!x<6(X)b)gsV?3Z3SceN ztddIg^#N=`vxCG1a5H4Y29>@|E~`C58GM}|cvLewYPL&?@Y=5G(M8{jaY3;=RTf9p z9D5b~K0wX3pqf_Usw-^b9D#=7rpwhTNgL z@>0#qGhtK~LehmU9je6fY7RTft)1vOfj<5WaRPKW??hlT(cXbn4Ug|RS2na%VrLCl z99oy+f;Niwc?%s-s==XDM?{U`Lx~2d#QubzcN9RZ#ZIEvlo5^ct7yIkaFM!LJ%Xqa z2q84DmzvX0DjPfMq>&1NN%|ko1pt2{!ZpX>`Wr6heD46qkDmq13jjgYTr(QbPqU}A z9=M#?I0w>A>S?WRRH-5O2n|xK!yY2gY@s3DsD>znkqCXAh}HnAVS)mJu;&z-VYJ zlWG(s;Z$A)HC5essX;$w7!Z=`=Q|p3(f3{lnp$dj z$?w%jC+Kyk*H9^?QEsVJH>L=CIZ{1!)y#?xY;%0ScY1ztqLCy@@QwwOrwICTUn%}FnX9{19o zGFl8kUZ5+a8U)8@Foecy&{-ZQj5i2{ffulpK4OJbHn*P&EPOyC28p(x8=k11*TEOK%cwI8`H80Z)Z;>d9!sA%w<*5t=GG zsXxuslT1j$6`NAy2}JQsL_|DG&{I+CP(mS8*%&#RyuXskP>q@zI%xmZ7%eSb*YAaj z@K{4=y+XkjO6JYaDez-rQaLyURlF#j2M{p0&IB8NqFi*9a6udQ>Ee`#2P}zj?|g`8 zU>!+4P^a6hTHndyWj9_9NKTwMi*#~fcT4JuJ*rekhA<0#=B>IBmf?F--FUz8lS(Ke zm8?Z5d*MtR|Az9@{?kfoij_1AURL9kL>(NOy8RFvPg4~se5^|u;i5~baP%iQ5QV66 z{0n_LRILfoWu^U8Z9fmdzsCLL^Zk^KPmo=5XF|Nxc?5dbv4YLGo5@s&(2*3#!vsMiKe#Qx%rsys;FwTv*zrSkW+#U7f; z4+t!1Vlt`u_(~1C3<{5gyoK`Xa$I%Q2HM+Oux*2FTlWBoaE?E)xHaf*s2E366F{}t z&7eACQEJjsMlf^=%$d~l(Y1;}I)B!0)C?ktDHuUu&hHAV6{12-e?e7Yhf26)guM(E z)D`OKD}4Z@2#(3m77c`=BKki4o>yQ!D<{6tctBcF5FbVn0(g~lc0g%Kb9kzSbV6J} z7C=UUeX83eB0L_QhaiZgj;be^(8SSF6QfBbKdpj0Dg`)@BJ@v=6P`53{o7@iuBN56 ziDI$D;ln394?rD@(1TdAin|;-F(df;>SA*w*tR!5jntG-V_Fd=y@Xh4B07B)8T%?5 zIy4RuPUot?XJl9uphlskye$q*8Sn6;wHiBPs~h@?UjsMHLMUod>LP zM1-bFS9j=y_Fhyt9?AklAg5Ya-yy^bl+_HuL>y~bMVKMV4n-Ln8JSKFr&V+u{327Q zPiOY*ZcH=A;NURBLn9i&5aloqDJ2O_u2||BT~y<^1GbH63SNKbHO!bb2^=T-KK-N; zso^D{rbwk`{wD}aWVC~zN2_IY%3U{>31e;qYC z&X1;2Q>#y?cq#tu%Y@;PtP)2DJOEv4iHK8Mx7jp86Op;)3m^&kQ*BZMeyN`)HPlPL zAcxLKY4gYcMV2p}!_=u=n5M~r14lJn0ZnRC)kjcOUZgHht??K_Cxru8y!{kUpa&m`;3#OzhBcJvNRLTZ2qde3fMqJK@a3rki&qT|eEa|{lTK=sYoda4 z8J#Hzg(D)2`syYM4brX}1EEnF^2ThKNfs}jNg|OXkw~)nrR{_XKtiL{rsJF|cuDzp zLWDs{ZJDS9r^Mw~t>Ha?dppTQjMXdWAk0`e-t>b_YDU7(oe-K6Q3a}`1jp96`AS}1 zC}D-pFiW-kSuNaBGCqNjL4@<%fqN4A3P?3Z77+p`AtfngE+exr{OlD<8)1KAr^}% z<5gtGrPSBE2Pm$7kV*u(@(zYei*F>8Nw~lx5nc`v%D7S!hDGTy$O&o@CQ3&}$)~Aa22wxIvKj^=B7{NE^YLwo z88`UCXD{X5f3pnfxW5bb4bT_@HGHuhY8w)K@$(n)raR~H`q$0nnrpgU09Yy^olp+7 z5C$Turk9NXAfmdBp$b1uHJ{L&xH`lqQW+(JH=yHdM^>(BT%f4DxIh1`xKKjGx%{#< z1bI2GQ{Ol<-Y{jHj}2danD<>iFgr;!m#DM(GOTli$c14J4fAf~v@fj1H6kxM5S(+W-LrB?Vu65a%N|aFVONLchboJ&T%{GhG zs~3>Tq$w7QWHK4HZ`%#B1V%iZ-V%h%I|C<>rp=e1p%zsbVmn|6-u>=Zv3&U)zWJ?( z*tu;pmu^^0u~;IJh||{U^(RopM%DSL%(p>Mq!dkkIf!_S+g`qw{Rhu*;Gn>&?8 zN(}<(=i_T~1TIzvB zbv}Klr<|^mP6UWX)26m@(fTA-sV?5FD+QAcuEtb-ecNQTD2ZoJz>$DI+4~#Xw+|Yr@xq(8xXL18ae0?8mgR# zM3Gb+CUvzlWBL^G`2y|j4UCSBaqe8dg7ijEJwtGX&{Q|-dJiaQykn87Y2e-Oyp5LT zdfxS}FVox83&a>49HCGwAq+uHO%f4{AuWeU)>nCcEE}-BzZ+o0#!p-6r`Hy^?d7XU zrxNVmbBaQC1k6-0HD|l0Q{b~~$L&FB#KABX&%^gR%MO-{8woIlM($iWB`phLF)t+W z43g!ARtVQEHk78IWrJebo&h%@5!0^&U2lf+XP0c>92wp?G{(r0UiOjJHrsdg zhCNZ~0fK&`P@X@_ap%<(!4ORt?!PfZ@oF?QVE6PE4!j8Hry1joGITe)Qu%^7!MMT{lv~@Nkx5(Lw;3Oqz5$ zL3SkT&7n}}(85FSOVlGi!u2#v6Kso2eJ$D1JQzmhy|Hwf*|XX?cC3%wSiya*-^DIDfK9TdhN;~xq|ivMR?R_i}uOQ^!MkmN{-8bbS!Eb>zFaUnS9RT;GuqZ@h5!YLCM8! zx@We~+??jjnNfO94SO3{CuuH%oQ$HI`Dp2^qobn+(=a%5c8uOL!>$1>Z(>>gESu|Y zTEG>Tb#wak2#-B}+}#(&qC3yRorg?gitL!>*)jKXVl{DQFKpr1@nLc!mV0eSLdl|i zN&`|#&iCY9BPTQ>rv-Pc?NjRL?8s0kIvhSaLTRJ`$+(8$C^Q~`zl=A4)}oXgI^l}8 zkjtgScPO!r(46>@@rnlFFULHUxY8jckQm5X2o2J!;u0pyS1ceNkCRL$X=-ZXFMoN0 zfq@~7kx~#gsX?7Xf+qeLP*WQ&+>@Zavz7P1_thLcbegY!^S2c8SuoRJI}8quQY@B` zKq?t0nT(Si3CHp7XOcraNAqmjbb#-D{}J}@I{`+5E3R6` z#p~vB+2u>wJz$n*Vvy_!9rXvwN{Ku^vIB<@)zw>%-ym1*H_|VTdwErwf$#QpFgmP zzy4*fyXb{6K2If^bX|(K-g6mOUNMJ{{o^0mz5N)Ct&P0yH7mLH8uwbIlFdt7PjUZO zpXSJc^R5RXVbz+cyzvbySiZc=H8>*$e)jVn{O~6);aJk!Oe%P3cpihnnv16J%G(#P zYGo%44Xzh7IGE>&r%v$g|JX|J`79WMMAGEtub9V@#cf=7?Q~M97>)z4xnmyjm_e>! z^T31q85}6^*0(L?#_Ol^fq!_4L;DB8mMmS>!QZ`W8EaN|@QrWp;5*;m3560Zlj^wR zm9x41m70nAFsf4*gZ8$t1~Sk__mcotCNGr>m=pIkUT1xndSm zrnK^ozxf8;-R=Cxciv57Lk*>pMWI-tv9X4?zwH_fA;{&6#A7Dy9Sywk&Py>2gB8oC zacJKWuDp5;_kZb5rc7=ok&Ll+^$dRWlN5!qyo+NcV!Z2buH~)wTt-KG9fgujE?Wd4 z=&nz(aDFG3Up|+wfAa~xdjBI3_dGb;V%n^BzVNwQx$4R}^!I0p#{?_a%;5en-Ohq} z?H~lEY2Y}Lg$q0An$*DC-}x(s`p5YAC$HztZ&*o9O#&eVh5@!MSunqye6hsO{&QQH zdFcRFiKg~CKJoF(xcR1eNXKFCzCQNs>1ENPc2+F!WcjiVX3S{d-S7Deh0!9n-?4x% z{mT_3lO~0{O+IfieR@3~`|x^91NsK?95^_@%Wjy#>s~z{!+;gb+Bvl6JXc;jll#AT zIa4Orl1!ScS=G*uYvbH}{cPU(&LzyB(})=peC6M_D~GOtqC=`a!G}JujJw`Amw4PH zpLdy?4fP3T&Zy&(i#teXUgW=iamY1z5kO!p{5u&T7438P)x4&KGZ$^3X#s(9zMrisdt?ug~z(mLr@z z)ki!QWAENmoI5|l$3FTBw=G(!M0Tve%sJEf^1t3mO>K&7u1IZNl5;)7lnMoqHVrKe zeB$G`^7_}UC!Z_vz=NCl!~bmOz@c7}$rzVkHkY^GvwT#LLw34NB_BrQ>TZS($&ay*UqK6Im5cO-Q01<5@t+q z;r3e>^6YcR*sgmQp7L>&pdmIR4T?jcP(akxIn2S$!1H;oZrruzjzrnwQ;h!5_Pq4PMsbj9y9pp zN7m5Uk-@SY4jmchxsB&sY@mEt7Hk??)BN*i*YUd7%x25hUcUFey}Y=km)e>b_r7l_ zS6<#l%oM!(RWtb2Z;xP=q`uH7m~Gq3au1MVme{V-TS$ zfDukjg{Zj>@kA|4m(0bsU7)O?p@B1J&T{Zjxdd334vGi^LN)SgN>%tmn6gc^NM~xf z`|g`)Y^>!g|Mmdq&z*MxIN!b6wo@K5=~R+*DiNCVcp||+{o|cX>T2Phw|A(kRi= z*2cx_=Wz2)D=C$1a=8+p`oya^bhwB6@Bag9*UjPPn^y41qq}fQ1#0SQ`P`>p$(^rT z&#~kEeCo5m=T{GG^wy9|E#AHTFz3&Y^7+r+#-z@A-gxI)HobV1Lf!^5&L1D%&cA=X zlXt!25;{8S`1nVzUbZ2{PSV1xO^(fxJgrE3NU!)iQ_!;#3Al{(@HM8w40+x2YLJ7{F%{#TxE@P zOseN+Ki|X6H_h_q&*oDfU&o5;wnWCXYXPijlr7U;gS=KK|j=)Yit? zwCOy9Lxpk0A>nYxU-?JP$IOyRt4*z=pPS&q&r=})Gv0!_S zgNV!x8X;*YAvLT(H0mlMT#2RfMWjZDUq~W*;7tew3Vm7!qS<0PZ9rc`&PkoEtXaK` zfq_9x)1;=Rh7%`FbM)w`ar-DPM72jvsD_mmcnpXlYlp|h^nW5ytsrtf?oU;4@)IC-*sh?8 zolkt`Nq+pjm)y0TFazr@la67U28EK%z)-=3d%}ZPR_~1W0&#{98kczu=Yntrb-N$23oWUwde(;n1*abVH zlCnYtM*jj`2OYJNDx~4BV}XdUXkt`qOh)ysr%G3uDuwAfU`{DCnmMbB*0vVL#>S|v zttA#SIdkSb=gyr+D+3gu=}!UVC8chI?_w2WYgG?rn#xcokQCJkz(zdX*4yZ*}uPs z&wl>TjExrDjqkhdy1E3WVIYLyyFYk=-P@15VT9i{#tqUb7wS6KGe$038h>_ilXt&+ zEmvMKodnPBD0PHJl6oIX9mwyoz}!|F(yn$s*@(vEFAY<%I2 z3w|0wVUR?^LXmJDv}G6`F0p+_uR9+A zMVm`5>*Aif7BD(y@x}YMacFO!n?)&SgH1sx=kSToyu?kf_!EDAMrvX)} zq(t9~EW}>Y$WRLz*@q(xLRRVbF1P?Nkmz#AfPSFRMk{74&W$%-PBxpxFbrB-Tai-I z)6MB;PoXbQ1{WNVY4YXczF-GN~x&JzjLnfV~ zwl-GS{5zr zrc|WwZ9_`Q&wlYNn>Ox)Sjv5Y;f6Emx-|E`?|NEVYIyR= zef;>x&v>_BXnGyEhGlp-hvP^L!@wwSI>(`HQWJCLv|-zlzdX91Gbj2Wo(vh{Idj^` zWa1n?+|R}rj*q8o<#>L+t|85wSuIE;d-k2jcDzhh$>y3H=5qI4D>;37gdhH78^vr6 z63Ovl+737cUVi&huDNPD#iGqGf3=T+^P`Z6gDvTvT*s_g4fOWrcy8kv_dRAXb-ZM8 zE7PXdBPIOozxJ`|`BRWgj88=}=03_etX|bYJRvx+W02ElbCnEHrZLF}-n*3M<|GgP z`Y?a~^Kth%8Opkg!O7#JoIEz-K66pE_@qn(^8eo7pPn%PTPo$lp;%XhK`{|QpA>#- zu_kwq&}1MK>ax1o)e}FUj4J|+xJjMOEMK;Wv9T=ic$`EcNvTxi^y!}Ql&7dhSkl$8 zYQRaMp(Wc6v**p^EqC9{@Nkw(H!S0d%U5EWBAjLQhFvOISeEU10DkYrp}sCdU2U3t zzR3D@^ZDL)-pfP3-^ivH_wnKj2f-@1r=t-xP%~$CGGlrNr%(6u;-&*0_1mm$##kcF zs+BWHrQ#eqe3qa7{8bJtmp9qn^-^a1jXLrY7VMT0GC6d3h@bvqpL=SDQsja}(qPr9 zHcZ1{>-Ihd`}3|bu`F)7aW<<~v@tMH;Lneopg5LyJqT4`)f-n38&ml=__6?@vRI{b zSKE3_qp+iHLY)q}x}kN#pMHXmT5>8C(F#BF&d<>YeOqNeuqiFpu3e02niPvg8XFr) zBw~z?W!Zn=h#UV4O+(FUEv_quQAYQ%tNh;KZ{G0=CU>=Qu4jOJu7GJ8k?dZ8hK5?= zanp;2{9cAZf8Q`CPM&A_^bQWd4 zG70{=^El^vh857%rlF~U#f!Uf9EV3A-No5ced8X2XCx4DuDoI)t*y1}+kcL~{AE`- zTOyTgP%Ose$&JM0CVl;5^!1HZp7s2Bopg0JuxH;nUfg^v=#qPGd3|#&ixzZHC|YcO z=>)}G4&rGA5Qe#P+UV|X;LzcIw(U6MG4e{RxnvfrR!m}GAjiXhJU~9110w}R3z3Mi zYJE4adc^{6zjZzx?HT^`mm}Qw505fC=ZoICZDYj(V)H-I*Y#^Jnc<%W#Sh*s^Ow3fAtFM|uQ&W;nFZJ-q zUr&P>SMVvJr<`kDf1whAbQ`-`VSxyfPgHKQL}>vf!u+0)f{WDf0@R8(T}N5;9)=dP zlND0aC6}zmaa?dMolX;r#pvrBV9(xzUK*|%E~$}ag&|9&e7MOs~DME zZ=O#_dkx!n^sswRFP+_O%$wW7B^Pyb$tB$^nAb*KZJfS=JfHuUXZhBDyu?s%&fEO% z`tF)k$GSC>$mK0|?&`xSlpv7^Jo`x%*S;O1jb{msATlx04|AU=7b^%EZN!0=<>#=Pitev@|lc|=GnRHgbO|z z>A*ZMUerxQ6&uZ9?4ht4cV%E%dve^QgHXT(QH=WB=V#U&K+S=Cu7?-n>QbKH%v@@);6nFcGKEY%btBb?B3m@;1=#T$#k5H*G~lj zJ9qVv8+Jj|_O1pNEo!G!a%gMI@T2eFMt4^|EiGwEmc#k;S@!Ph<>_Zn@X+rLuxqQA zi%29g@cJ|aix;)f+?3+QO=sDEa6nm0L89Fy7k83Q$2fL; zm=niGDtl=4iZ*7?Y+!86;>FG9$E!QFIGI4(d^Ey+jcE~nzbmV(vk>^_XTOC!0-*~gE6@-T>$?^N~I3HbWPIW~qj2BB5n6%dQD zW7|PKxNSd^ySupYWovout1n~G!f6x=C8kgBAd^WjRLp{OSiN!<_4R2^ob2V$;j`o1 zi89sNG+Dc57BSOc`;KD_4vYokO~*A-^XE>Yxw)2sfiVsoJcqumwf8I>i7;bacg+Gi z+Uq%Tq?c!&JzPn-&YRoLlEq#059HXk@SSR=l&X%lB9J~9V?c$ zfrP#L2N@m6LM(=1##p?lnMBH9c%;aIL&L7KBYcHVB2q0hnmiXI0;wmK6Q%*H_53Qi zMylYP>Z;2sve5XNawr>KXetyd*rLEN1-4~*x1y>3QyGEMA(70mWXU|tn2BYTXliOA znM`8aHruxD(h!ssvXl>eLrR2UVwzyte(S556UU~uu8}vr;bk;6)$@&S{X2cO zXV@iXEttxN4YQGsWb;eM*}MCc7nZ=POxHm2LPKkpJk|L#LZOrvS4j3HC(n~GKG@Ow(aNLm_89xXzKzTi=|6j zXm3w5I8Z(os+ z(6s$lyYu?pK`HdwY}&Tint~dIq_lX^OcpMh>(X|m9l;y&r#ef_m@%DcQ@hA!^Ei$} zO-+sKSlTu_cklD%|ApRyI<8wozZ7VaJZ66!JxI zY*MwgELt=b%d*+D`5=Wck4;wDybep2bko_{NYA-J4jedxPBvVa2I+JH>D{jk^nF$4 z&vs+h+iqFL+&S%>?;YiPKX|5mFk_e|t5;6N5U_3gDFz3!8XmjDjA>0wo!Z36NS^1O zKc>89{Bu_=?;@RwvHxHn$BqqnrO<+!+60NX>v5euH^z~}XBq4n^HOmM7p0GxyZ{ZgORW^#Q-L>%R0_sX*WjHob zOKC$@h6H7+s=6#ez(P7j@&$`ee&Pe%cH1qk5pb+%@{n}n$2qgRX>V_(P$(dTpr)n< z$B~puHir%#Bf6cka5p|#+S;0U|GjVIgZJIVv12`y3O?CpZ6_p$n!0-4{dpV&+`1UhuqC3p{2Ek#f!SgW{W)c+)=DTK9~WJ5`@Wu1)VfC zrP;OTEPMC&_>gx|sj;tXs&NZ|3KlQCcoHk0^R6W;_Q@~=vu8EC_mwclIrrs{EZSf@ zTzAuKF5b{RPRhY%`O*&BTGO2G9b@ONUSF!R++WgW&8l`%sTfC(4sqzn@Oa6(2pUBr z9%tc#CQ>Pry?X~au&2LbfTWjbkrL`^6LhqvJ!7P-?Se&fN1A{B%vvtJq!S9(1+i<5 zNTgqC5N@fH{g!$`UzHRT(&raSRa}%(kc=SQxWhku_yij_ZsL=lypPX)?h~X^Nf*pQ ztu}P89Z%Gy2Z;Ea-~N%7{pUc*m+`UP&e zk?pl$%-|})6FP_DoJx6);(HGsCS;NqzazwD%h+~sTr)X(y zbUj8#Vp$f+R2?7r@auWYUDt8-Rm*{*Qln91<%-$de%nR-&mTAO^wYa43wZVFIkdGk z(APJ@&Rxd{wmx^~cKOn2#7u)N+m3Ml?0N45C4|Ty*nfu6(LAYCg3B+R50pZrOspL9 z7ER+*|MYSubv5wlFIr4c6!w{@mF^Nf2TcB7NUwZ_T{JeNIC*k}V~6^E+KHl)#$LX(otP=uvh6(Q&yI|%`pDp^ z-9D*?nKK&5=WU*U;hZOp>00@*tj)Qe9I==nl`^^F@-DDT;|jqg2MR@I&u`|NU){hZ z7j3*T z*|L*^2M_YLx4nTM{pjn=oi_($cHB}{_M^?z?he+hS;pw-D7I~rN~JJO6T>h#e*6TZ z*@D8}bHFJf42N59y@CJy&wu5gKmP%mo11ypyFbmbqsM)Dag7YK1e_cT7cJnfH{V?O zyD)vC5~0p7K0Ls&K^VODwO2EJYA1z4iI&y|y1H82dX;#bQpx5`Z@iXSvuA^ocNd6l zvEkBHeC5k;r&zN2`Zs@1c67vb`{GH~t({A4CPge}GHq%H@lxgy80v&7-5EmVtpB2M_l9u4S`@14PqFA88aIB=g(fvq9t8!V;I9=%Jc?a zcjt0`_`_Ry|KF|STi@BjZ-2GN#VH(z*3Mey&1-hk$C)_Y)9Nu3Wjz52r4kF4wljZz zGx>teu@l4N-kEt4YdG(40-bg&(mHgytXqoZ7Z{ncE5-Ibg^-NU|pdtEr#Fe{&X#TBbr zzkU_@e4av~Kzn;Tb#-+llS%&a$dml#&(C?TnggleQXQ4v8-o66a(n7 z1#9YR_}u5-$-VEpgH$Sxl#+&q8rs_$`ThTFq);qz)fLN`G^vFvuUJOsq&DWypT@i2 z^>W_#zT0W2&+wrSeUCpq{G5vmNSn!1J9yhY*VED2NGcWQ#v4|0#~qh&(Zvh+%U`#1 z-F2(@@)zIC)TwPCB?}i!A(g3N%eG_KMSENk$RiH4}b^BTR&U^d?+ok@#|K7`a`#o!k#|>(0 z6Xf$HHf}!UiDQ@y_KnieRKq3fr(zm{8Pl7%{<=BbeA8U+eBDys{??V;cIyJ#+cJFq z3(s)>m!GFlv|YE{wpqHYle^!%lteN{OLLl+zkDvQy<2!=MuAI!vuAj=QUp0$&ylnxuy?h3vV;1jz-_tz#*HbRFSS9}GyLpeq zLV0&xDQjSZ>r`iT1w=xNItCjpXzKO_K_oqZWJ(POAkOh)CpmqlhxU$Eo`3!YR<2yh zcfNB!ixiO1tKH8oKxm8h+)Vc))kAT7^@jk9Lm z3hut^RlM?*H!(asOg1}8ZEZcD{>;~S{IRD%)CJ3r)i1|E7%{HB_9CWE?d0guGe{{t zRh*(1)2rQQ{NFlsb+vNYhNbkLAEa0;0fKnkq<>%(q~u3G`V-yVZM@-iSF>=zR2D9r zhHcx7jpf<0m6!^u|~snTRtylI6sSUW!GFc-*A1A%o*MOq<%uefQo< zZEcDZCwh@UIu+-N%NO#qpFc}aHXkgK5`dB5CqI3bWHQd%-+Cq8Q<`}F>(=wy*Q~>_ zCD~koJ$ugZ;IB6GCScZoFBolCCOBbl`FfcuTL`2I|dSJ znljw?{wwJ0sN?wY0fZr#JgI?&3p?1i=Um0}yzZL0y!pi)nAoFmpx|vt~6>EIRb{<@nQ|5An@!ZDR9_r@d;%aV?ZEtf96x&WRHv-u%V5;<9dj_KUsrj1*n4)pEFK zeJ6Lkat>o-B?gCFCTK%rk{L7V*|gEE4kT%E_QVLE|H4ar`jcx}Fu#$umJ}UrX-XxV z^XKzC@Ze#-^0gft-aFuCE_5-y(1!v7VSWk8y(%doxEO^(f7hd~0kv7FrnJ=p1pf_(>ZA> zU%CGuky27BmB?f=EL^w{DJ8YFHN4`Ecd+?|r&+ReEw6j+%X!OPuO^vFbNu*m9LHhm z)NVfdv47>;-}(uN8bu7n2zoX?BiYp4$h2u)7{c(nJ~`|^c!JzWHppMEcn#w@^H{=U z#`MY5*Vp1W4u&wW9EXDkPBS)|b3GNqYX>6=vaA=HOJCE}4pI%~Yc*Nao za(pfYg6T6lXl|~@u^kMl^+LpzV zGKJJ%$(Q4 zjW={NeOeuk11C?7v1#*po_qSN`?{E^uuf$p1=#!kv;gx<2<{Dmej-9!UG0G$5LQ$* z&qYvoT{S2|arLFp$XRPPzX}dXNlR-ZAO44TlS(B?CX-xt*=3~DX)>8KXV3QV(T{x= z%PR8bH@%utsYIbrpsTBkY15`*nkGFx=eh5LpXP=euHn{OuVv2c8T9t{bMD+ZGMNn1 zrgif#U;GxI`Se%EH^0stopV@a-`mF1WZRQnldVaUZQHgzXPRtda;Lr-lkFzkw(WZN z@9n?3&b6=BK6^du!F_-B{^I+Di@+OfP#*pe>RanouNCVUXsQ;c(7svSVz%`05_>R6 zsm00IRv%5&0H%qA#hks}byZZL=4Nwu*QQsQ_4GFQzeFU*#H&CpsX{DLogW-psT>nR z;Qwlup59XywMJCR*@axxx~#0z4#zf|{t->m=gTf!@qTu{ikrOiN)X; zZ^tx>*m0tZ4nl&0eS!DgAB03xZLa3vwCmjRc4FXxzaGp~)(_;GCuP9L41_lJNAM>N zZt6;xm>rT)t1D4!!!aT8WyTYQ=?EJx0bzWOVg}t-@zmSyV}gGDNEh^Bw_B|G@~5*i z_V&=v=VpXfrdSo8oDMe%crfD*4lM0gEsc%i-TB9(31({?e)aTxmy(hKg0{tI@`(Sb zp2)WN*B2||p(|}avF`x`FoWI7bTgntMxI_+MG5_C_MlNesAvU__TX@MZz#w@qN_3q zGA-g49WNtDMDG^WYA36(j zGeFSf$kfRXi+T~xvjpI1wymF0F54RU@rOki3LT4)tF9~X1IMaKpSWU4ILd-h;DxQi z(sNA<21GF^YM?vD$n!LpM3jID=*CJFb9ROk00V;yEZi?(A;ldXBx7|o4n(t@9d~)= z?(WGzeoLd2+rOlpdV4s@!Ot%%E)JbU<8hU>Dg3Wg`2CWXG=kH_0Ga_!%;Y(O;io)5 zVMA3Z3C83Ide6(3^JJS=Cb+US_BB!UlNS8#2_bb}C>)dMc=du6+%YBmB#hGth7Rf} zP9vOoJI*-;)!e_zo1JBR(bo8kT%~0bZMcZBnvMxHlIb$#8=e-9@4XyiHh$H_iK>6S zGzc?2>n!>QY4!IH{%W@Bdgtr>Qx(UbE@3Xf4rZ9+K_wC1m+>Q@!bI@A+!$|hI|S5q zDWPA7TZ zh#fWSc5AkTq(UswgqOhI694k6a=+8DTiT}6N_rGlR#VN!=`GG_yre6XhbBd6a|}nY z%wx3U<(ua)#HjTDw3{k7|BHYFPNv`^FDC*iqx}$hRy=yMp{}`|y?<~6HEk0_tE-xUB#mr2N1X+? zZ)cmx9KzHLmu^DH!*Z)-Bce2}g?c&He~|@IzZ#g}?KH}63xus21Dd0U+rL~0Al}XX zb&b;C31PR-ct80o*4WvKFMZ@Q5+cJ&u}1roPCbG8@ly*nQXU3X!0Y@l(~iZ%q{2Hp zKcC$5d}W~3ggeg1_g-#zX9Q`DB0Xir}N?d((P=?B{Nfx zE``Yn`=X?tIW6lvZj4zkpCQd96LET!vO}HoE#)Z&sYj?h;4&+&P9Goim{*98BKcd! zdQCSc+J|g!mX1}yJpzPS4qq-Nli%f0(5^;3hHWds5DL?PF0KxWvYU(TVHi}NC)1R1 zfh)R;K0;yS%C76~oQ~lM6{?;{m|@llzOsM}KOim0LbS&4N!cLcPaxhmn*Yizq-&d< zPC%I;A1_Y>t{jP1ER`-!q{5V8=c2b|Cpb9)R#}-}TN`qaN~5c%TUIePH9M;&^L4pt zyj-Iqo!fyh=xz5a5Y_)>aQt%TSK!YnQKnNiGD7Q~nnE`-GsDTaQfK(>AOP4{>{okO zVL&FV?ChG;m`r#lcaLZ)3_3W|6Q*E^piR*MYa&q3uyt%gLhYzsQ8F@WY|AA_J7@kr zD}Sa}R1i9R-=FwzDsrEi@$-H1`fJ|GS+FuHOfDYjc{;d9(vM8HLcuc`})>$fw9r_?`$~olJsc;rk zDD+C%HJZ7*zf;7~gvR<(7NZi)VP3;+>BdH&j)d7-R$i)JO?9Hv7e$L~hV2@;h2I01 zRBAG+V0DY#d2@EhytYhEuz93Bza&ErO_FQ^7!0Ik;sF6dF)=6&jg2$PMoJ7hy_^QW zE&J5MJ%j{wmLpOvre|h)fqjopNZ4D)GdoGj+9c5ME#JFtZ{Te9pVnWZ)Br z9x9d}>>ywW&rF9MnJu(^W6g+q%?H_`_tyosg+=Q>JG0U-GT;ydtT5+oh0vDJys-5lW5LvqYB0bECJ>--ZXqyF)kgzJ$Lm|u3y9jDVDwj>o z2QIuT$Pzqz&GV|i63;J1Z{9w+u_1pK%!O~?WQAelNDq1-D!)Gcbt#^_E^%o!&@Igp5l>$8GO9VM1;53%NAQST$08WSR#4y!q0YR_ckm^|8FeXNwXCD#V`&9Sh(BlOMfa9ZHtKR*G&H;O$-R#PlxO$J zk~$It9>{*EAbhW>(K=(X;`c~~Wdlx08r7A)~g!}B=+QErZO`wvfz>#!Gj=wnqm$iXetiA5m6^d$4gU146V;L zx2xRxXz`laGey}Drp&h53yx-$`G-bDYG{0-n8EL7J$@^yJ3ZT+Yt7U6yYkub>ARog z?e0Ez`nfoI}^_4K(&^!6DJsf*N%pppN0h$Vz zG}$d6#C)8>Ld;i(5u+BzPq7W^LsBdHMvNsE{Yx$NJoj$n1&EZX=P-jNIx|R7gF_lu zci2N66rq>m%60Zk-_+@eiv2ez2)s~2?dpSB?5_(u}Rnp zs-56VAIHlh^8CXJH67_`B91GiU`6Q}jtD!~7KUc1u_pr8xSFL}nCRgC6bsqj-ae@k zp#j;TM-4>`?cjtZ$QGA@Wz@8^jQDg6!gfBg9_wLO1+ zvP0~@-uW?=*uXYZmzWq2n(mTy;RfNyJA&I)R1aca=$*x zfGD%Pd=JBDvqZNktPW_&uur#`RuqD19zsSnm>lQegcqzWPK3gdM}@iSnc@EB#u}fr zlPJ;zpT_bZ6-FGE5|uO!WPUFhg`bH8#W7*H`pf_pP(T6YGH@QKs3n2J2|pAJ zo7Q@;>yRLHQ`?kBVN2ewfK66eS$X&PSReEm$kMWhS)!OT3fw+EpBt(c{aAGdoNioq zTCfRz$T$YneKMB3EW@B`0_Q@IP0)Q6!y&k;=|71aX7lM zh#6rQBwN1IbjIk@HCHzN-0oD8m0{89Z5sT}HWcEY?;qMSl;9xu*UJzdB6?K)si(7< zMv5neSpVOC5Dbjt&w@Lqz6=DB?XqlJ&h;uG@@q^smTt_{ZY|f46;v(ubnx8$3Oq!R z;qF(o<~T_jJqzq&Td2T>xTS4gZpG;mb*A1WYiu|2__4SQHd8}*RhBcE{#`0e7t9e} zuz8&++307nD*efcZCQ1-IJ^oZuET1HHj`;4P3*4sqCD{M^1AH6_&r`&EZ13Za&k_s zua9r{{Q{Jz(WR9(rmLRRB-$T!4pFAlh`ES`X3|4ovdtz74ng*VkXI-ZQSK~S0nIXL zpAcs~$216oHP!u_(0T_M7CmJAeN`1rY=<#7Z6>}8kf<^I-&`vuJuzQNZZZ61 zS=0g3KmU+d6SZ@5|HSvsvovPAXb{dNUq}eTIm7O{v06QNNIj7%B$$A?)3xRIQ5-)+3ukr+q^ ze3-^4l15m$xq(c+pEY{4>$gN`huixyTexp66?XqQY-o)+CQN@|- zuGml#=ypg`aY`+**9}WD9((U;ydl44Ln4KkLqn0T++JA0R{jampJ8%Xy_{`#W2|G7 zpwq6Lh*cStnPTCW?7aq}0aO;JX`z&7i}F2|N9L2Y?r;6n+@{Um=F{&qDImv2WJ)%>*_lAr1xD8=Z@{YUqjzMMF9J|d)Cy`$?_u+pUH7&W{~ zIVEC(Sd3o;*+q<#qWGlzOtzqyRD6NOl3IlAT45q(_>`O%QoapORqe?VlWu!3&)PF0 z<_JuSer|0o8*<+jxBG9P!vcI!b^jqEl-Z-p&;GA=c35rlG0q42QW>jGU8wl9&FbaV z$lGaqmEPo7A68GnnXVmS`N2#Y3|d2YDAQ*w_bo8?p+NI8P!TeP- z8X6brD_qhi+|vE@x-p@XF#e6f?KzXI()+Bpv*8vne@Ynt!OvR{Uv2&bnO0Vv1}CJx z$d1}3p)(LyNa^4rcB%Zif}*pb^u;l=#Tzx=5h{;`XQm~YhxOW0$p_=@0_3$LaKjamYa*Ybz3 z`S$@w`BWJqk|tvDk_?JVN~9z`rLa~$aUrM6w9o9yp{zt9YS&gJO)`Q;D(2k`P{2Vg8`m$B5>twT)n8H*XYB2LSHA&Rh`47X$(^()t@1 zkd)Z4^YTX63^Levxwfjv{)%>>mkKlfZVQymWOmfM~SvK6epn~B>fe_n)HTpX{q3)d*{}=&Ye(`;cU$>_YbC zUDNDXIa2Q0G~AT}{Nicb{*7~#`y^f5)%K$$8Ieb{54w!uAivECBcOM*%rp>#<{n0M zTUN_aLq)nAq;$Vwq22WzN!}11OBqq2f@OZC+@aUQCs2W&@`!6AoF_p?HdTsjt;Z<~sqfKbHowP)8SlV%eopRrH6tTE@*AMWk@eWRx}wW6T)WtBRd7c3 zwBMWrs|mFq$9%Ke?#%#<$-x;MRyTD-)jK0Yf9YW7{@P??Dlk{Ry>+(i3om0WBt?j|i8C)zQngS`Tl^{4RXpO`2E(VN1fqOhvXi(qehV#G z={WJ5&^4Bo@Qy6EGJ_HSG9Mvv1H}oEFM@){ip>6>WhK_cRo;|^ixS3m8`8Lt?7a^r zuI}|@&Zc)Vhbi@O6Lr*(pv-+l)iQs8ghL#vkww`mfwaE5Py=?RU{M|-xb{LU$uJ=k z8#L8iB&Olt*t|1}vUXh#bg5*|mi^-4NS~ZO4ud{Mhou+vSohaD2j;-*`u^9Eh+Mo$ zBg%SuKuL2Z;vByDaqvx=;4x;LDvkN37fHams4toRe9u(}&^7b`-uoYQg-t;`ay@(E^YRCM0_4WTXiV4N@Eal68s;NE zKlneMIbo3S#;J1Un{T!F0=P!I#mJB0%gO8!x24m3XVC4}IDear* zYs762c*}`!Y<0P81qr`VCeo_@>{d(Q^OCmQVba@}xJs9#cY@m=ov%?s6oRiHHN4=V zlww`1emm8YRiTxMaeJ$c`KpXLdJ0WfKjluS86pngI<&4c1sqKlt2zKL2-;0!&?jV@ z*QFaz2dj9Z()f5)gO-lSAL36r`sY)ly!-N!WE89BwfoJ_3%1VBu+2J)Q&iVw6<`92 z$*}TJE}UgT<}f1n&B64vsl!mCc;qth69zCY+Yt*ooBPMeN=C{p;z91usTiyWzcBhH zCdOkl$MaaX4G#cHk43aMXuQh2Q;+r(>&6Gb+o0h$@jR;&qW>2j(*}yIDlWbd1e;){ zyiPAEp;q2C``hJZF%#aGIq{0i+&q&4iWFm8s&yV-Tr45XiwgGYfM;U2ZL@Rc9NC`l zit-)(0{Oo0+3|nB)qCq>-XhSo>PD*FXkY*7BwtJj}B-m-r;w$t037x8>rB zr{~F!t%pihciX?HV0VEi+;JLQ4gz9glhvkxi_P&O5FA-(JG}d|PY!$4Ty_cJqaxfw z3Qx*8x>AWZAg(R$C=7Xrn?Oeo!Lc3AAM6cWsmwR(XBSh^{_^<-QnJhR&_Xi>1kv z{%ta7W9wKJ928g?y58nBE5eE!i&dNnt;EX9I=a~PY{$}R4Vjaa$>-)9FRIi&niVOZ z!=0qVQ34prJ3q*q97JG>LKm5>V33Qea}ACQz85PGVw-gSjo|e!A}R8Kr+gyV=T(vY z)89K#@AEvic)jN4$LCYGNR;Iyl14Oxlt*gxOpqq2q~P}U%s)dChV4k32eGeHe_&s| z9H3JyJz7Klx8sCwd$l|E@%83_6?xNAS$NFFKeMdlQCB2_ewv4n-1^KO?5u|DgrIJ+ ztK(Q|CNC+m=-TdTeA$u-3XP)Qs@NqB*3#$B@Nvs}21o-OOL>cP2i_Y=yMDrT|MXKj zo9 z4e%;Iy?;WrK^4){?VtqF~4;pi5 z!h^1sAJRx2WR^BN;1r}3NOa=~HGn}@#YN=DN3h+F@IQCB*D)eK01pKn5Eu;CYL_0GQ%F- zcJA-|=ZFD#k%_(5BRR9$Eiu{LC}j;WNtrQUO{r|w6u~aL?;ViuY{}Rr+}WXoa`be# zOei}{yQcFBGz@pNo?R@JP| zRkD+#1gj^S)=C&%vMPzRICiaNZl*zD}?>k2~1rr^5wXg}b>bGvSBnOmTFo_FHD9)rt01Z6GM1+Ejf zmU60TrR`*G21XB&u9Gl1-`uPsrOEGSR^YJ*8PYnOd%Rsdu0D?hIZCWlO~(zO;4)1dIh{uCBCPw0`+dPavkLi65}I)Y>N`(f$Gy9*;M7Sicy_`(|*~ z*PP!4EhlaBJB4G=69K{7s%P$g*M}YLyHFuZB5ApNe`Q{igDyW20Hz?&Z*XKMId7bs zr^S$#l9J07;2A7Qo4CHpL!A!toICG7{n>Gg+jx7EWmRt~DbV$PDK2!=m(HLq*Xi!Na7R(AG)(02%i zi4*AztGDt6&lSL>yI?#U5+uN-?e-Ue1}$;FWhmq;_ct*c`nw!@n^SLlRCgrA1)WuL z@+_L@piYW(g{j&wR|noV0*Jwu`T*p+xT!fN?M7EXgVk^yx%$m&xo+A2fNS>)F8*uA>3gPU!% zby5B#vXp4RhV)}ifmXgo?!V2N;K`r|O~=$jEzT z)pB)?>*|CjvuiIml5azg+&BL?e)znuF4ntWQvu?rjSZ%zb5=7cjzy!zQAS6j{(;j{ zm(5?K2WuHBMo-&>F0$O~^}0T{IdUxzD>~9d+#T+jw7L9%Ga|vf*Zlou1mNNz`MlfV zy7V=2JpGCjo&fJwg)Z#ullUJSRhiyLqT1T+z(aN%4gq2+TsAXbp@0CsiN^za+*<$@ z_pfoW`JJ}9%aic&{e9Mc({tlo-yV>+c&xqE9aCY_tgG49I*c5Z4V-1503VkSw7l9= zv!Y8OK47sw5Pz&R9=O3ZTyxL;K`Jz$-6Wx>2O9f!zIV}f04PT$w(E_S2DLssDyp#> zze30JbE?edDFS%U&`p*U;;K|hn!6m^23)D}$<>wy3f&!zt(%8bDMW z2wlFy#tGF;FAgtm>21D|cx}2-=DiK^XzD8FiSP`sdj)+VhY|Uh4ggwg?79B7ctNkZ zPHMwA7$q`bYpkdt8^`|&+uBl|Z(AdV6dc=4_yD7_Wv;g?&*#$!oKBND0{~76-~61! z{m(Qc=&ipxoxAZTO4`5Ot)5x?bx;2{&g<%m^bxeKM;J949+yXhH0OhVtdk-^_{ZAl zQQw&c55|X{mPFoTodV7qi&R}cKEf8APwrSZKYMNgtb!i_3A3pHdJ<~I!uXclrz;YN zRl`+}U-i~STb-GC@Hb9zz{jPt#~kQ*Iv&8=jA@j-58#Xzv#gXr!mV zyc3~cU!V7^ase(}dt_CWE{iTt#&Uh;^9P#ORYIJ|z?5-9;yGd>4Hiw%>&1Tirx2rd zOF>TCW?jVN`?`@qA$FKmp2!&U-?!M2+0*Ci$10PBf4+eaMz7B+T7StB5vW2{7Yd3g z`xZanRZBb}vGd!kSLbBRVLSRz z0_qTI-d2y1(BLSJ8!JlKNYbjm4Sg0**Rzynb>`St(v4xtAYY7OD4WZEE_z&9|3eW{ z%iY0%Y~E=-N2|%DBX}g-am$kiO{OuE$=qG!yWB?zjl~N3RQr$9!#K6g`0e^UUy{m7 zk2SALX8-H4u0tL)Vd!-GRsZy_pI2;gi(3zt)^-)Nq&&;Dw^Z-%g)m&_gKSY^Dl_Zr z^87eftFdatdsV?6B+FN4Za;u!7`a^B#rwJXR5LH5Dv1Py8?;TZ zIXMah1n3BVjEG#nZrZ!e_6{}=im~Z!rFE^0tb0`!bTooway)v(I1s$L9Jumch8TI> z9HV*GZ_y`(UFHU?<*OBVL`PC6>}=(IUP8Y3zPhDwsSYpOuP^jnNhf50@rPp3ZaZH| zcQc0KVz4SlF^~Iv0$LP+R>4sIw=-8@|s)vASS^p+UXysNqt6*OT7R{(uwb(zlrQ`lc|#D{ag z)mUy77PZNPjUrgTa4FLtpdldx)$?8xQPhz4$1}+=V$FUdBo;mJHwia4Af}4@pA(_Y zcy(^dVZ3xp^f@@IFr*5Ct$v+Z3!~>T>+zF=svcM)gqo?$r1%Bd_QZ9$kJl8LHYf%$$J-iCAVYa|i%LrV>S)eaf$|U%Gs* zWFm_D4AU*@O`p|EJpV$}xE;zM7V@#~%EHrk*JkhqVImzW^>U)1eifc<;RxGZMnr=! ztal_tL7@kMZv5W?eAVNOVdglozY@I4PXR!{HZs|J4<=T`LCEnI~Fr6SXq zozB{I>%RX^VVaphqEgUM{kq2TQkMg%P<6)*Gkq;tZg4W!wW{TPHRffA{W~$qd@DPj81N zD^K7Mga?Vvx&?W(*P4t{e(=4RrE~GPfM?(4D3&6&T7F&i14-JA*aUZCg51FKemBgj!V=1d{T(0jI5{*Y(OK z1C5bd?`tOeRe&F82m}Sr4==E{9H?i_M-396m~j7UdRF-0Paj~*nkY}XwRUm>NH88m zfDd>cz^8Mtvi5ES&@Mf_kpkEQTv*><9m(0hV$EvYkC6!p?Uw2vVf31aU1CiB%xTA0 z$pDGE{LVE#kr8iqbzuE87nSO-d1(L!Bgswx092w4+LTmO{zI|hOV(~G$|@;AE;RcB zSmA%FF*Jh)v~S&|K(I? zh#MKjhV)Rpq9Oxz_2JX5ks`-j+T(!~2=WdB7F~yikX(++qs}<|JBRsw`{|d)oP~V? zoZqy^Q%l-%f~2&0lYXjuY_PB(@8jaS_Oy)zcwf@MiNE;}X&*eROge&Du@AVwoMp4K zFk9G7xL?i5(Z+bXH)E-(?|}qv#1hHcZ<;UBn_^;gAJCTc^n}s!t#Yt_5ONImp@{%= zsl(=LkjH;I9C<#sB>?Pf_>9j0C?fKJNliGua8f&;DDML5?cqSK6}DNv?F*IQi@#1acslWWId z1>-Uw6@cmcGV1%zmV7c@NW^$>ogAHv2kPkiO=*6_KKN91<@;!()>}0JTNb*-{&&nb z(nrWPn4^voo4P;;o?h&;m3eU|qlMElGney5w{+o3Kmq_&IZhya53a}%Y{@-1;A9>L z^g00Wu&>Vt$mKvmA3JV>w`=sUe)Sv2Cj?S(=xo3?F0Nwf2?>L?-#i}wIfw4gnl4cN zJ2jP)l2X#pyOwr%6&MATEV6mnlC)$GEI0(@VmuOThW9vqsxbn-~sG7Y)*=l zB!J~VW461s@qEp9j1xd{K?Hr);w?7@bl*d9zB1#oP@wy2;;GP!qA313g<|Af3UT~# zBJr(A7on8iY9PP9e!gB3sKvuzo?l+KbS`3@Vpd6PIveCTW@U0!>ILd`=mmv#<+)*MOP$`XTvAO4x-4t^UzT)Ji~OmK&EKMC6<_A zYe0c^ZB|WzdX?2fijpx^Neq6e<&=1NyZsk+`hN!NfHx~~ds}dv*`@@W5TAtJ`RobZ zYBI)Ur=JxL71jA_3!=^%?)bE%`lH*^`nb$w&>hcT81R_~_`R$(3&+2Bj)>OEhe{&p zvLg3naOeQff+I2a^`MBCCUg!7fs|CF;NzRl*JIUY_9M~++r@`KPlt2pKI5A?-GfO7 zAfRYgb=tBc9dOn7YA`;oamD#N#IF>ihGJ$2{=7YT3gSQe-}h3BTA{| zf*H-`uoa(Zd>+nhQY;Csy@`hs?AMx8f{`23gSk)P#Ki|>0%h$0R|jr<#E^dE^+ec` z=EC@=R&?}8@D{!QU8@pATS%zEY8O z>vBVZdiK*;0APUg-I7l%sfbdMH7BZCn_gL^oXIM8sp6vbY&>i33SCHsJhfr+>HTb2rXu+ggi>CdWI9#CmlWt1_^^Tysll z!tBOsbsA0CJv?N9yL`41FhMPtfgl<$JH)E+UC{9+Ph_(vuJbWjF1P&Yg0zs`viZVm z#6mFATx?pvC0(fPw@y9b$iA$-?=f+m`F9EoO>9r9%1RqeCa1nSV#Ae%zAa<&?spzF z7XSxAPRhgUYad>@>NlhlCXJba-`L3ZGP!Tihvz09rZ)70&%-?8$ESNTTu?yrrN0?; zg=Xs?C$8jmc&%7)Ex4MwK7P8iQT=Xt9-rrmxpl2iZ?8Tg18o_f?e>GKQamJ~UoRCI|oM`*+wBb1s0cz4*ofOH}w$dMz(NItej> zZ*p9nJf0=JAyMAIAXQk}nUPCN7%Ad)z2o$IB!wnEA+mek!P^{h3cROx>^Nt4mc^No zE&hWQmU_TXNNCIF(VA!U`EndtD_g|=pZ4|wJ;0qDdpQ5WP|7>Qf$91CVFDMIw);T zE$y5r#~r~Nh3g3j-+=~j8lE9wHTk5A;Uz9nurnRFVPP6OIJSxvo7RlXC>oNi0p6a% zo*|#z_v2-`Z8FQRj|&w*0$94wjbC?dH_B-@xDWE~He@TrtE+}oe9Qco*5wO*88k^4 z=R?alx0=GppRuMfcBK8=Dpz3Fg2LZU4lxZj+PtUT@?hMdx0ZTRC^8Mx0oqqu7 zo4tuMt3WL3DRO$5DH(PCqXoMSe_P2-=VRw@o7vWQRn;V!dg~tKSYrO(qx3JJKP5Ed zDOy!#1CcFMNdVK5KhB-F_hv0#kv5$th&0VXTZ%u&+}b)>zcU!!C7j&arpjtQvc-S@ z!)tbBp*!!R{dYn>Q!l!??To(fi0Q}0r6XlV^sQ3f6T&yaE~09D5poCL$mm#Zv0GajM>(kvnj{*NC#Vs~o5!*>OptUsnKHS!}$Tz>Pn4 z&$g&2srS9-B>pio%ONW!9m(d_KAw)9&i36voCI+FAuuy@VMpP_9nYXR``Sr z=t}7g4d&@Qr9ZO_xq)_-E}yG=eBP(OSFwdR10q{MvyYCwsL2WSABoK27zwHg3~p-hskc56XQ&o;%+>~Zahk`}&! z%oGRz`!T#(F8aQ{AmNdth}DyhChi`KG|wv@Cp}RblHIQ&Eg243z6NNp0V;{2bN+zY ztcP7y5;zcC-no*E^TC!$ge%ny^td|4`6H;|*bxpTlSex!UK^1nq7Duuv!zPANS`;% z+)gX!10{%QMw%54LrT_Y5z_4+6MD^;&`#tjvdRo8?SarVAo8bwhn-{J0v`kjv-Er} z{R}5bs#{m=_z_$DL#qAn@!sA_gNT*7mJ`(#GQHa0Jqq4zIS zASLhp5N@Oh3#jl(;}XX3Ml6v0@4f~N=5~}m&2+5|)D_QmpDI!%0PnoIJ)Zo?EX`dy zXVkwQPqJ{Et*mId4B%l8&}BqHApmsRAt5SEW8_9P09Q#R@G7iSr_-PR^X@te@CEWH zJRGk3pY47sY(A?1c3C^`@d`~9wXFUo64R0%r%ykDyyrKg;TUW(OR*8t={iT@yAVd5 zdP|0ZP~cTDzOQv}V`*Oxw>Qr{Z`V{Qki!-`eF-l8CSkw59~x(d0&T(3Um_29AUM|x znPZ@q;rJgA&9TEr*ucPJZl0P=;k)pqCkhL;z3;0lkWc2qk*p*AEeVs z1mfr9VrOj>$?6MZdoaAxMT4k$C(K$!8c(7x6qbH#vgIFZ*=@RQ>xb4|>^0Hj|v3|8wnTlY)MSw(9b)}n6mxgJj_Eq$CP#s2R{4eMEID$m0&{^}TAO%zYJdO*1B9n&B>S>klazFRH%uUXE3GdK z$;_ns87ev1g7I)B&^O^Q1oV+-n7YWpq&NKC4$CQoSW7z@XHKWHu}5nJ{<Wq;jV9!PYy_{_R9J9#{NY6`R z=bqjo@Rlp66;7#*6k?4?hr0OSxH#fyqae9PiXrJpUFB($C=`OR8USs#M#`}mey`Ow z-DqzCh6A&2S8$)_7bK16$(u-jGNGcS9ERw9p~zdYHK3xywMg~m=EiB;@3PSJ5@wPP zRWFxeD8UeV)R*-d14Yf3jgh`_VLS&lM3pyo$!~To3ueG4x|F>V=`~wj) zH{vG_lTR!lW~X|KR`^=`<7LVz$~biWHM^N$5T^#A{0qS@kv2mwIW=Rb{Xs}bZMs(^ zVNau81E<}x^E0H_2rmxtV3^0Iwpp!F!eYb|q?!hm#JoGJ^MINd z7s`jGy-kd<6prYE5>(Vc*v%z5j?H%Kzm(`u_^KptF-pS1YkV^h`(^9vL*Q4Q4*4i} zyt;gAs+|~eDnf?4{ml=0nf^kaSY558yH+&0@n(9h2H)^Mk<%I#8Ubpmow*z=w8jqWtzg@5lL(D7Td`Z4E&8K|BX(;lucl2B`evXYb{1Tr5O%D z`BtD5Px?gj|2awLYtlx@Nchzt^bV98xN*YpfU%PiP(-MW{Uq*MW2q*O#WWk>{Ug+A zCEf8Wn}bt2e6z~nm*%%n>)(`*C0Us# z)@9WLE>y?vk-I|^tW%4J)7mKq_+m$T&d(l?RGGLo^Wpdv4wjOyUAk>0!Q44jI4LJh z*6!Ga#8}v9iXLG3j4*J6GTV?yvME#Fd6os_yi#VBtL z3%u6-uHB|89iT=?4_~3fhOx@L zV;sacY7;yoTU%=NZ3JvBorTY3-w23F|ny0+w{i-XUWl&Iv0eVcFrO}TH0cI$wV(b~l)@4ki z8B_f_qhKssAL?>9;R>VOSQXUTNN`)sK_i4iWTviLE4$J6E@=L(wFn2bc_OQjXeOiJ&kTLtZ0}{YDXW&0 zl>x+|KuKb1?cA@CsbaP%I>ynv?qnX`Z9{j#QDB5eSP$a(4&x*1;Zl)MDj_kODvFoS zK=dQBhGi!lsVft%pv_2!+TcHgs0M=sTH8Nmr2Lo;Sq<^u6MfTOLhl+1O?^V~f5lqR zP;ZlhB7b1-w9w)Itb&ZhHd*^|i7)Cz!&-{dZt2!4x;F@A7!ov zJ|-YdquVYYZm++$!x^nTau3HWahjxp{Cw0t))7lL;Pn-tNE!q46=lBra9AwSML0wC z+A~7OkS>NgF;2|wrDZ4Ya8NTjClXuH3=@U*KU?|#?D9zxd@C5baOYF?ar6>iX7vy| zw5ZC9j2rX+NG;}Lp1$hk*!X^d!3TeQBxgQYk^9RRCjPAAG48)CIw}6mnx&c5(FTDU zlN`DD9~(X-+Lo9gse$YdTV#njsWiOA6%`qL_I8!zMJwCH|B2&9%$GV2AKMZz#?TCyNlND$7CN!Kx zBaHjfm76)H50A}HxWrR2#`%j~E78*iel;GkvN(h-z^}_TwkdV1sb&Vs=3lOzRR>4w zt7)`;N<6GdU_psK&8gwV&ov;=LgJ{@wpabln(FrnNi|QDc7WOptEyB0-1*nq(ad^} zEe@^obJ=82+Sz1_u{1G0Y-Req^F84QdF--v-jJ9CP8 z?0nO;aF$Ic31=*KqRFr2zklmEg9B% z+>a(FY}nQug3`$fqK^I)@AJ|f_u6J;IuklmEUMw5q9=rA3^R*Q@-3zuln2Zgzx<&d zDUt#H!&D2G8*?<(72nRkx**~eUiOuJb-ZxR+6ZIe%^(tR6wA$2{ zHT~kBtC_ii(q8D3BO|I7W~Z{n#PB@j{a@m4A>0|-RM2FkX^!{|*CWbGt+=|yO4+tn zgBvqo0C()&1B%PjRmSzK5gnNp6^je`vCKZ_Z+1`q)V!(Y{=^!#bY(J)aG?lgaWw+i zRH!aB2&#yqE6!=ydq|t|G#rQ(_+NS;<5cG{h%gm8#2OP3lw)1Rq=>-Wr1GF- zIOQf4vWlV`A34`Th8GR$!uKySwdtwaw^8WRO;Sw!eEnc;W&V^eJ5e!w88*W4!LqF|TC=Zt^wGt|TDRlK2XyR(BKTo0YFtlqzJ>hg|L!YdA;8fDY z+}cXJD(;t5YBxgbO6d9gLIKzO_phs62;|WtXtbddSa+HmdT|_`QPQUCjNqo$rhH`t zjapPi|CJD6qO^$&TYfyJP-)mI_925U_Nq}GRKrsdHWfq` zW=LK5B$fG*7Zg?*`q*9F2u65SOA(QOCY<*d8Z{pO2_Hg7MR-96PELto8Z0Z>Y#si3Qq*8yi$0W_fxWvZoL5fK^yx>#OR zG1$t9rc%m5 zgr=jmY8a)^fP@MFt8VZ>_2EP;(hv_oSA}Fm=WwNZbL!@bh?!J@2!Fay3Pqf=d>z9_ z)^LUHnw#setP+Qhob}$LBIG*Wyoj)rn$SaPPEbiSaY(8jj|}FXwM99M$B8P|0YtLj z)J>-{?LxHxBD@(;V{u;&K2(_|eQQC6J1j{}3QUWjt0W;=-56eK>?XQzsc~%sm0p_AMQGAh)m-+fIt!u- zze86z5`jviWO}5=HJXSEpsSOTQQnqXNvQ$-1XX}&T?#m2Y*GeANd)?IBvKD~ATDg* zNTD(MDzdF{`_bVTgxQ$>`_MA4#s6--M1SQB;7s&}K%e>vH4icLv5<%Y3^g&Fh?r=# zo3CeF8XGelIdaZx!L4y?1JqxQ(1nNsI-}fc5yryQiaa&rAR}CQbrW9L!-|O3G+6?n zsaudbEeFEcozOE?bLE67ygHpj^@Oa7cW_}SwkncRwW?f`kZrP4Z!B+dV2eY863)v$Ny4k@KG&wB}J7}K*wRIW*9|KY*gsPPBq{dQqOdZ zN~Z?6;HrD6f?T2sWm#wdt_xrQN)awM4p5S%z79YuPNBgvBEw7>4%tHW93r}8T_~QN zsjs#{&6)@eL5-*bh-fb<3LK60E`J03+yF5Q;{M1|Ul}2Bq%zo~ zx_P2fE1F4=8pfTDqU*gb7BlGW9m6VGO6nvkb*anQYOsiq9>GLZRuNqtD}~-ASCx7q zW48zP72hK>x^QxY=jJA7XFNej<+tO05`>usUD!XKx`(!qC=lus^sG* zcs^R=FQYenlwwi90PC_))k>ay*A1{oC#X-+=KLqD1=s@o7qHbt)B^0r?Tx%46#rE{ zos4iQP^T&^t1-VK;^I)@%=qt;2^bx-C>9*w>kO*vVf)?PsG0?-$0*bsy5Fh`K_sI^Pbs$r{9?v3aS#`xE9;9bBDfU*Gq z#N!B20*m0Yu^ zmI*O}4^k-kWj|+Jw?I{0xN6{NRQRQ08M;)GP{J(j^N66#Mpi&Z+=tW|935NKP%;m? zFhpG7b5l3BMvqY4EJ6c1`_r9LquDpnI#SoE>MaRPj|4Q~u22j|sF|*~u(D+B0TO!c zAA!FGo*sXv=u{v0#Ypig;06S90aL5tu3Di`?zjq!9lBYV5GBoKgbkqXG?hd& zR~7pEuLe5n3@$nkOqWg4-LEp=QdBYe7hn)W>qb+PAe6cDHEXSIuvEOIic!#|dv&RF zWG{$az%PIw0XhFuh-r4{4v=jiI)D<;%KyW@q~!nm`ak-0q4L=O-`D>OzV-o|y;DD@ c{_+1B00<2*mn;dI;Q#;t07*qoM6N<$f + + + + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT new file mode 100644 index 0000000..32d95a3 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT @@ -0,0 +1,5 @@ +Install : +Copy the 'domelist DomePro.txt' file to the "Common/Miscellaneous Files" directory inside of TheSkyX Pro. +Copy libDomePro.dlll, Astrometric.png and DomePro.ui to the "Common/PlugIns/DomePlugIns" directory inside of TheSkyX Pro. + + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT new file mode 100644 index 0000000..40e3f1b --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT @@ -0,0 +1,3 @@ +Install : +run the rpi_install.sh, it'll copy the files in the proper place. This need to be done after you run TheSkyX at least once so that it can use the "~/Library/Application Support/Software Bisque/TheSkyX Professional Edition/TheSkyXInstallPath.txt" to find where TheSkyX is installed. + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT new file mode 100644 index 0000000..a833779 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT @@ -0,0 +1,3 @@ +Install : +run the linux_install.sh, it'll copy the files in the proper place. This need to be done after you run TheSkyX at least once so that it can use the "~/Library/Application Support/Software Bisque/TheSkyX Professional Edition/TheSkyXInstallPath.txt" to find where TheSkyX is installed. + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile b/domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile new file mode 100644 index 0000000..eecc569 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile @@ -0,0 +1,27 @@ +# Makefile for libDomePro + +CC = gcc +CFLAGS = -fPIC -Wall -Wextra -O2 -g -DSB_LINUX_BUILD -I. -I./../../ +CPPFLAGS = -fPIC -Wall -Wextra -O2 -g -DSB_LINUX_BUILD -I. -I./../../ +LDFLAGS = -shared -lstdc++ +RM = rm -f +STRIP = strip +TARGET_LIB = libDomePro.so + +SRCS = main.cpp domepro.cpp x2dome.cpp +OBJS = $(SRCS:.cpp=.o) + +.PHONY: all +all: ${TARGET_LIB} + +$(TARGET_LIB): $(OBJS) + $(CC) ${LDFLAGS} -o $@ $^ + $(STRIP) $@ >/dev/null 2>&1 || true + +$(SRCS:.cpp=.d):%.d:%.cpp + $(CC) $(CFLAGS) $(CPPFLAGS) -MM $< >$@ + + +.PHONY: clean +clean: + ${RM} ${TARGET_LIB} ${OBJS} diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h new file mode 100644 index 0000000..af1acfe --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h @@ -0,0 +1,124 @@ +// map UI objectName to #define. +// ********************************************* +// ---------- +// DomePro.ui +// ---------- +// Dome Az +// Az motor +#define MOTOR_POLARITY "checkBox" +#define OVER_CURRENT_PROTECTION "overCurrentProtection" +// encoder +#define TICK_PER_REV "ticksPerRev" +#define ROTATION_COAST "doubleSpinBox" +#define LEARN_AZIMUTH_CPR_RIGHT "pushButton" +#define R_CPR_VALUE "label_5" +#define LEARN_AZIMUTH_CPR_LEFT "pushButton_5" +#define L_CPR_VALUE "label_6" +#define ENCODDER_POLARITY "checkBox_2" +#define SET_AZIMUTH_CPR "pushButton_6" +#define IS_AT_HOME "isAtHome" + +// Homing +#define HOMING_DIR "comboBox_3" +#define HOME_POS "homePosition" +#define PARK_POS "parkPosition" +// extra dialogs +#define SHUTTER_BUTTON "pushButton_3" +#define TIMEOUTS_BUTTON "pushButton_4" +#define DIAG_BUTTON "pushButton_2" + +// Cancel/Ok +#define BUTTON_CANCEL "pushButtonCancel" +#define BUTTON_OK "pushButtonOK" +// +// Main settings dialog Events +// +#define LEARN_AZIMUTH_CPR_RIGHT_CLICKED "on_pushButton_clicked" +#define LEARN_AZIMUTH_CPR_LEFT_CLICKED "on_pushButton_5_clicked" +#define SET_CPR_FROM_GAUGED "on_pushButton_6_clicked" +#define DIAG_CKICKED "on_pushButton_2_clicked" +#define SHUTTER_CKICKED "on_pushButton_3_clicked" +#define TIMEOUTS_CKICKED "on_pushButton_4_clicked" + +// ********************************************* +// ------------------- +// Dome Shutter / Roof UI +// ------------------- +#define DOMEPRO_MODEL "label_6" +// sequencing +#define SINGLE_SHUTTER "checkBox_3" +#define OPEN_FIRST "comboBox" +#define CLOSE_FIRST "comboBox_2" +#define INHIBIT_SIMULT "checkBox_4" +#define SHUTTER_OPERATE_AT_HOME "checkBox_9" +#define HOME_ON_SHUTTER_CLOSE "checkBox_8" +#define UPPER_SHUTTER_LIMIT_CHECK "checkBox_11" +#define LOWER_SHUTTER_LIMIT_CHECK "checkBox_12" +#define CLEAR_LIMIT_FAULT "pushButton_3" +#define SHUT1_OPEN_ANGLE "spinBox" +#define SHUT1_OPEN_ANGLE_ADC "spinBox_5" +#define SHUT1_CLOSE_ANGLE "spinBox_2" +#define SHUT1_CLOSE_ANGLE_ADC "spinBox_6" +#define SHUT2_OPEN_ANGLE "spinBox_3" +#define SHUT2_OPEN_ANGLE_ADC "spinBox_7" +#define SHUT2_CLOSE_ANGLE "spinBox_4" +#define SHUT2_CLOSE_ANGLE_ADC "spinBox_8" +#define SHUT_ANGLE_GOTO "checkBox" +#define SHUTTER1_OCP "doubleSpinBox" +#define SHUTTER2_OCP "doubleSpinBox_2" + +// events +#define CLEAR_LIMIT_FAULT_CLICKED "on_pushButton_3_clicked" + + +// ********************************************* +// ------------------------------------- +// Dome timoute and automatic closure UI +// ------------------------------------- +// Az timout +#define AZ_TIMEOUT_EN "checkBox_5" +#define AZ_TIMEOUT_VAL "spinBox_2" + +// Shutter timeout +#define FIST_SHUTTER_TIMEOUT "label_9" +#define FIST_SHUTTER_TIMEOUT_VAL "spinBox_3" +#define SECOND_SHUTTER_TIMEOUT "label_10" +#define SECOND_SHUTTER_TIMEOUT_VAL "spinBox_4" +#define OPPOSITE_DIR_TIMEOUT "spinBox_5" +#define CLOSE_NO_COMM "checkBox_6" +#define CLOSE_NO_COMM_VAL "spinBox_6" +#define CLOSE_ON_RADIO_TIMEOUT "checkBox_7" +#define CLOSE_ON_POWER_FAIL "checkBox_10" + + + +// ********************************************* +// -------------- +// DomeProDiag.ui +// -------------- + +// Azimuth +#define AZ_SUPPLY_VOLTAGE "label_2" +#define AZ_MOTOR_CURRENT "label_4" +#define AZ_TEMP "label_8" +#define AZ_HOME_SWITCH "label_10" +#define AZ_DIAG_COUNT "label_12" +#define AZ_DIAG_COUNT_CLEAR "pushButton" +#define AZ_DIAG_DEG "label_14" +#define AX_DIAG_DEG_CLEAN "pushButton_2" +// Shutter +#define SHUT_SUPPLY_VOLTAGE "label_5" +#define SHUT_SUPPLY_CURRENT "label_18" +#define SHUT_TEMPERATURE "label_16" +#define NB_REF_LINK_ERROR "label_20" +#define RF_LINK_ERROR_CLEAR "pushButton_3" +// Cancel/Ok +#define DIAG_BUTTON_OK "pushButtonOK" +// +// Events +// +#define DIAG_OK_CLICKED "on_pushButtonOK_clicked" +#define CLEAR_DIAG_COUNT_CLICKED "on_pushButton_clicked" +#define CLEAR_DIAG_DEG_CLICKED "on_pushButton_2_clicked" +#define CLEAR_RFLINK_ERRORS_CLICKED "on_pushButton_3_clicked" + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt new file mode 100644 index 0000000..747a671 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt @@ -0,0 +1,3 @@ +//See hardwarelist.txt for details on this file format. +//Version|Manufacturer|Model|Comment|MapsTo|PlugInDllName|X2Developer|Windows|Mac|Linux| +2|Astrometric Instruments|Astrometric Instruments Dome Pro2|Astrometric Instruments Dome Pro2| |libDomePro||1|1|1| diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp new file mode 100644 index 0000000..20d83b9 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp @@ -0,0 +1,3005 @@ +// +// DomePro.cpp +// ATCL Dome X2 plugin +// +// Created by Rodolphe Pineau on 6/11/2017. + + +#include "domepro.h" + +CDomePro::CDomePro() +{ + // set some sane values + m_bDebugLog = true; + + m_pSerx = NULL; + m_bIsConnected = false; + + m_nNbStepPerRev = 0; + + m_dHomeAz = 0; + m_dParkAz = 0; + + m_dCurrentAzPosition = 0.0; + m_dCurrentElPosition = 0.0; + + m_bCalibrating = false; + + m_bHasShutter = false; + m_bShutterOpened = false; + + m_bParked = true; // assume we were parked. + m_bHomed = false; + + m_nLearning = 0; + m_nLeftCPR = 0; + m_nRightCPR = 0; + + m_bShutterGotoEnabled = false; + + memset(m_szFirmwareVersion,0,SERIAL_BUFFER_SIZE); + memset(m_szLogBuffer,0,DP2_LOG_BUFFER_SIZE); + +#ifdef ATCL_DEBUG +#if defined(SB_WIN_BUILD) + m_sLogfilePath = getenv("HOMEDRIVE"); + m_sLogfilePath += getenv("HOMEPATH"); + m_sLogfilePath += "\\DomeProLog.txt"; +#elif defined(SB_LINUX_BUILD) + m_sLogfilePath = getenv("HOME"); + m_sLogfilePath += "/DomeProLog.txt"; +#elif defined(SB_MAC_BUILD) + m_sLogfilePath = getenv("HOME"); + m_sLogfilePath += "/DomeProLog.txt"; +#endif + Logfile = fopen(m_sLogfilePath.c_str(), "w"); +#endif + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] CDomePro Constructor Called\n", timestamp); + fflush(Logfile); +#endif + + +} + +CDomePro::~CDomePro() +{ +#ifdef ATCL_DEBUG + if (Logfile) + fclose(Logfile); +#endif +} + +#pragma mark - Dome Communication + +int CDomePro::Connect(const char *pszPort) +{ + int nErr; + int nState; + + if(!m_pSerx) + return ERR_COMMNOLINK; + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::Connect] Connect called.\n", timestamp); + fflush(Logfile); +#endif + + // 19200 8N1 + nErr = m_pSerx->open(pszPort, 19200, SerXInterface::B_NOPARITY, "-DTR_CONTROL 1"); + if(nErr) { + m_bIsConnected = false; + return nErr; + } + m_bIsConnected = true; + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::Connect] connected to %s\n", timestamp, pszPort); + fflush(Logfile); +#endif + + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Connected.\n"); + m_pLogger->out(m_szLogBuffer); + + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Getting Firmware.\n"); + m_pLogger->out(m_szLogBuffer); + } + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::Connect] getting Firmware.\n", timestamp); + fflush(Logfile); +#endif + + // if this fails we're not properly connected. + nErr = getFirmwareVersion(m_szFirmwareVersion, SERIAL_BUFFER_SIZE); + if(nErr) { + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Error Getting Firmware.\n"); + m_pLogger->out(m_szLogBuffer); + } +#ifdef ATCL_DEBUG + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::Connect] Error %d Getting Firmware : %s\n", timestamp, nErr, m_szFirmwareVersion); + fflush(Logfile); +#endif + + m_bIsConnected = false; + m_pSerx->close(); + return ERR_COMMNOLINK; + } + + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Got Firmware.\n"); + m_pLogger->out(m_szLogBuffer); + } + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::Connect] firmware %s\n", timestamp, m_szFirmwareVersion); + fflush(Logfile); +#endif + + + // get dome home az and park az + setDomeHomeAzimuth(0); // we need to make sure we manage the offset to the Home position + setDomeParkAzimuth(0); + + getDomeAzCPR(m_nNbStepPerRev); + getDomeParkAz(m_dParkAz); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::Connect] m_nNbStepPerRev = %d\n", timestamp, m_nNbStepPerRev); + fprintf(Logfile, "[%s] [CDomePro::Connect] m_dHomeAz = %3.2f\n", timestamp, m_dHomeAz); + fprintf(Logfile, "[%s] [CDomePro::Connect] m_dParkAz = %3.2f\n", timestamp, m_dParkAz); + fflush(Logfile); +#endif + + + // Check if the dome is at park + getDomeLimits(); + if(m_nAtParkSate == ACTIVE) { + nErr = getDomeParkAz(m_dCurrentAzPosition); + if(!nErr) + syncDome(m_dCurrentAzPosition, m_dCurrentElPosition); + } + + nErr = getDomeShutterStatus(nState); + nErr = getDomeLimits(); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::Connect] m_dCurrentAzPosition : %3.2f\n", timestamp, m_dCurrentAzPosition); + fflush(Logfile); +#endif + + if(nState != NOT_FITTED ) + m_bHasShutter = true; + + return SB_OK; +} + + +void CDomePro::Disconnect() +{ + if(m_bIsConnected) { + m_pSerx->purgeTxRx(); + m_pSerx->close(); + } + m_bIsConnected = false; +} + + +#pragma mark - Dome API call + +int CDomePro::syncDome(double dAz, double dEl) +{ + int nErr = DP2_OK; + int nPos; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + m_dCurrentAzPosition = dAz; + AzToTicks(dAz, nPos); + nErr = calibrateDomeAzimuth(nPos); + return nErr; +} + +int CDomePro::gotoDomePark(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return nErr; + + nErr = domeCommand("!DSgp;", szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::unparkDome() +{ + m_bParked = false; + m_dCurrentAzPosition = m_dParkAz; + + syncDome(m_dCurrentAzPosition, m_dCurrentElPosition); + return 0; +} + +int CDomePro::gotoAzimuth(double dNewAz) +{ + + int nErr = DP2_OK; + int nPos; + if(!m_bIsConnected) + return NOT_CONNECTED; + + AzToTicks(dNewAz, nPos); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::gotoAzimuth] dNewAz : %3.2f\n", timestamp, dNewAz); + fprintf(Logfile, "[%s] [CDomePro::gotoAzimuth] nPos : %d\n", timestamp, nPos); + fflush(Logfile); +#endif + + nErr = goToDomeAzimuth(nPos); + m_dGotoAz = dNewAz; + + return nErr; +} + +int CDomePro::gotoElevation(double dNewEl) +{ + + int nErr = DP2_OK; + if(!m_bIsConnected) + return NOT_CONNECTED; + + m_nTargetAdc = (int) floor(0.5 + ((m_Shutter1CloseAngle - dNewEl) * m_ADC_Ratio1)); + + nErr = goToDomeElevation(m_nTargetAdc, 0); + + m_dGotoEl = dNewEl; + + return nErr; +} + + +int CDomePro::openDomeShutters() +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + nErr = domeCommand("!DSso;", szResp, SERIAL_BUFFER_SIZE); + return nErr; +} + +int CDomePro::CloseDomeShutters() +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + nErr = domeCommand("!DSsc;", szResp, SERIAL_BUFFER_SIZE); + return nErr; +} + +int CDomePro::abortCurrentCommand() +{ + int nErr; + if(!m_bIsConnected) + return NOT_CONNECTED; + + m_bCalibrating = false; + + nErr = killDomeAzimuthMovement(); + if(m_bHasShutter) + nErr |= killDomeShutterMovement(); + return nErr; +} + +int CDomePro::goHome() +{ + int nErr = DP2_OK; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = homeDomeAzimuth(); + return nErr; +} + +#pragma mark TODO : Calibrate test +int CDomePro::learnAzimuthCprRight() +{ + int nErr = DP2_OK; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + // get the number of CPR going right. + startDomeAzGaugeRight(); + + m_bCalibrating = true; + m_nLearning = RIGHT; + return nErr; +} + +int CDomePro::learnAzimuthCprLeft() +{ + int nErr = DP2_OK; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + // get the number of CPR going right. + startDomeAzGaugeLeft(); + + m_bCalibrating = true; + m_nLearning = LEFT; + + return nErr; +} + +#pragma mark - dome controller informations + +int CDomePro::getFirmwareVersion(char *pszVersion, int nStrMaxLen) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned long nFirmwareVersion; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + nErr = domeCommand("!DGfv;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + nFirmwareVersion = strtoul(szResp, NULL, 16); + snprintf(pszVersion, nStrMaxLen, "%lu", nFirmwareVersion); + return nErr; +} + +int CDomePro::getModel(char *pszModel, int nStrMaxLen) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + nErr = domeCommand("!DGhc;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + m_nModel = (int)strtoul(szResp, NULL, 16); + switch(m_nModel) { + case CLASSIC_DOME : + strncpy(pszModel, "DomePro2-d", nStrMaxLen); + break; + + case CLAMSHELL : + strncpy(pszModel, "DomePro2-c", nStrMaxLen); + break; + + case ROR : + strncpy(pszModel, "DomePro2-r", nStrMaxLen); + break; + + default: + strncpy(pszModel, "Unknown", nStrMaxLen); + break; + } + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::getModel] Model = %s\n", timestamp, pszModel); + fflush(Logfile); +#endif + + + return nErr; +} + +int CDomePro::getModelType() +{ + return m_nModel; +} + +int CDomePro::getModuleType(int &nModuleType) +{ + int nErr; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + nErr = domeCommand("!DGmy;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Az")) { + m_nModuleType = MODULE_AZ; + } + else if(strstr(szResp,"Az")) { + m_nModuleType = MODULE_SHUT; + } + else { + m_nModuleType = MODULE_UKNOWN; + } + + return nErr; +} + +int CDomePro::setDomeAzMotorPolarity(int nPolarity) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + m_nMotorPolarity = nPolarity; + + switch(m_nNbStepPerRev) { + case POSITIVE : + nErr = domeCommand("!DSmpPositive;", szResp, SERIAL_BUFFER_SIZE); + + break; + case NEGATIVE : + nErr = domeCommand("!DSmpNegative;", szResp, SERIAL_BUFFER_SIZE); + break; + default: + nErr = ERR_CMDFAILED; + break; + } + + return nErr; +} + + +int CDomePro::getDomeAzMotorPolarity(int &nPolarity) +{ + int nErr; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + nErr = domeCommand("!DGmp;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Positive")) { + m_nMotorPolarity = POSITIVE; + } + else if(strstr(szResp,"Negative")) { + m_nMotorPolarity = NEGATIVE; + } + + else { + m_nMotorPolarity = POLARITY_UKNOWN; + } + + nPolarity = m_nMotorPolarity; + return nErr; +} + + +int CDomePro::setDomeAzEncoderPolarity(int nPolarity) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + m_nAzEncoderPolarity = nPolarity; + + switch(m_nAzEncoderPolarity) { + case POSITIVE : + nErr = domeCommand("!DSepPositive;", szResp, SERIAL_BUFFER_SIZE); + break; + + case NEGATIVE : + nErr = domeCommand("!DSepNegative;", szResp, SERIAL_BUFFER_SIZE); + break; + + default: + nErr = ERR_CMDFAILED; + break; + } + return nErr; +} + +int CDomePro::getDomeAzEncoderPolarity(int &nPolarity) +{ + int nErr; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return SB_OK; + + nErr = domeCommand("!DGep;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Positive")) { + m_nAzEncoderPolarity = POSITIVE; + } + else if(strstr(szResp,"Negative")) { + m_nAzEncoderPolarity = NEGATIVE; + } + + else { + m_nAzEncoderPolarity = POLARITY_UKNOWN; + } + + nPolarity = m_nAzEncoderPolarity; + return nErr; +} + + +bool CDomePro::hasShutterUnit() { + return m_bHasShutter; +} + + +#pragma mark - command complete functions + +int CDomePro::isGoToComplete(bool &bComplete) +{ + int nErr = 0; + double dDomeAz = 0; + bool bIsMoving = false; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = isDomeMoving(bIsMoving); + if(nErr) { +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] bIsMoving = %d\n", timestamp, bIsMoving); +#endif + return nErr; + } + + getDomeAzPosition(dDomeAz); + + if(bIsMoving) { + bComplete = false; + return nErr; + } + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] dDomeAz = %3.2f\n", timestamp, dDomeAz); + fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] m_dGotoAz = %3.2f\n", timestamp, m_dGotoAz); + fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] floor(dDomeAz) = %3.2f\n", timestamp, floor(dDomeAz)); + fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] floor(m_dGotoAz) = %3.2f\n", timestamp, floor(m_dGotoAz)); + fflush(Logfile); +#endif + + if ((floor(m_dGotoAz) <= floor(dDomeAz)+2) && (floor(m_dGotoAz) >= floor(dDomeAz)-2)) { +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] Goto finished\n", timestamp); +#endif + bComplete = true; + } + else { + // we're not moving and we're not at the final destination !!! + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::isGoToComplete] domeAz = %f, mGotoAz = %f\n", ceil(dDomeAz), ceil(m_dGotoAz)); + m_pLogger->out(m_szLogBuffer); + } + bComplete = false; + nErr = ERR_CMDFAILED; + } + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] bComplete = %d\n", timestamp, bComplete); +#endif + + return nErr; +} + +int CDomePro::isGoToElComplete(bool &bComplete) +{ + int nErr = 0; + int nADC; + + bComplete = false; + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = getDomeShutter1_ADC(nADC); + if(nErr) + return nErr; + + if(m_nTargetAdc == nADC) { + bComplete = true; + } + + return nErr; +} + +int CDomePro::isOpenComplete(bool &bComplete) +{ + int nErr = 0; + int nState; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = getDomeShutterStatus(nState); + if(nErr) + return ERR_CMDFAILED; + if(nState == OPEN){ + m_bShutterOpened = true; + bComplete = true; + m_dCurrentElPosition = 90.0; + } + else { + m_bShutterOpened = false; + bComplete = false; + m_dCurrentElPosition = 0.0; + } + + return nErr; +} + +int CDomePro::isCloseComplete(bool &bComplete) +{ + int err=0; + int nState; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + err = getDomeShutterStatus(nState); + if(err) + return ERR_CMDFAILED; + if(nState == CLOSED){ + m_bShutterOpened = false; + bComplete = true; + m_dCurrentElPosition = 0.0; + } + else { + m_bShutterOpened = true; + bComplete = false; + m_dCurrentElPosition = 90.0; + } + + return err; +} + + +int CDomePro::isParkComplete(bool &bComplete) +{ + int nErr = 0; + int nMode; + double dDomeAz=0; + bool bIsMoving = false; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = getDomeAzMoveMode(nMode); + if(nMode == PARKING) + { + bComplete = false; + return nErr; + } + + getDomeAzPosition(dDomeAz); + nErr = isDomeMoving(bIsMoving); + if(nErr) + return nErr; + + if(bIsMoving) { // this should not happen + bComplete = false; + return nErr; + } + + if ((floor(m_dParkAz) <= floor(dDomeAz)+1) && (floor(m_dParkAz) >= floor(dDomeAz)-1)) + { + m_bParked = true; + bComplete = true; + } + else { + // we're not moving and we're not at the final destination !!! + bComplete = false; + m_bHomed = false; + m_bParked = false; + nErr = ERR_CMDFAILED; + } + + return nErr; +} + +int CDomePro::isUnparkComplete(bool &bComplete) +{ + int nErr = 0; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + m_bParked = false; + bComplete = true; + + return nErr; +} + +int CDomePro::isFindHomeComplete(bool &bComplete) +{ + int nErr = 0; + bool bIsMoving = false; + bool bIsAtHome = false; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = isDomeMoving(bIsMoving); + if(nErr) { +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::isFindHomeComplete] error checking if dome is moving : %dX\n", timestamp, nErr); + fflush(Logfile); +#endif + return nErr; + } + if(bIsMoving) { + m_bHomed = false; + bComplete = false; + return nErr; + } + + nErr = isDomeAtHome(bIsAtHome); + if(nErr) + return nErr; + + if(bIsAtHome){ + m_bHomed = true; + bComplete = true; + } + else { + // we're not moving and we're not at the home position !!! + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::isFindHomeComplete] Not moving and not at home !!!\n"); + m_pLogger->out(m_szLogBuffer); + } + bComplete = false; + m_bHomed = false; + m_bParked = false; + nErr = ERR_CMDFAILED; + } + + return nErr; +} + + +int CDomePro::isLearningCPRComplete(bool &bComplete) +{ + int nErr = DP2_OK; + int nMode; + int nSteps; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = getDomeAzMoveMode(nMode); + if(nErr) { + killDomeAzimuthMovement(); + m_bCalibrating = false; + // restore previous value as there was an error + m_nNbStepPerRev = m_nNbStepPerRev_save; + } + + if(nMode == GAUGING) + { + bComplete = false; + return nErr; + } + + // Gauging is done. let's read the value + if(m_nLearning == RIGHT) { + nErr = getDomeAzGaugeRight(nSteps); + m_nRightCPR = nSteps; + } + else { + nErr = getDomeAzGaugeLeft(nSteps); + m_nLeftCPR = nSteps; + } + if(nErr) { + killDomeAzimuthMovement(); + m_bCalibrating = false; + m_nLearning = 0; + return nErr; + } + bComplete = true; + return nErr; +} + +int CDomePro::isPassingHomeComplete(bool &bComplete) +{ + int nErr = DP2_OK; + bComplete = false; + nErr = getDomeLimits(); + if(nErr) { + return nErr; + } + if(m_nAtHomeSwitchState != ACTIVE) + bComplete = true; + + return nErr; +} + + +#pragma mark - Getter / Setter + +int CDomePro::setHomeAz(double dAz) +{ + int nErr = DP2_OK; + + m_dHomeAz = dAz; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + return nErr; +} + +int CDomePro::setDomeAzCoast(double dAz) +{ + int nErr = DP2_OK; + int nPos; + + nPos = (int) ((16385/360) * dAz); + nErr = setDomeAzCoast(nPos); + return nErr; + +} + +int CDomePro::getDomeAzCoast(double &dAz) +{ + int nErr = DP2_OK; + int nPos; + + nErr = getDomeAzCoast(nPos); + if(nErr) + return nErr; + + dAz = (nPos/16385.0) * 360.0; + + return nErr; +} + + +int CDomePro::setParkAz(double dAz) +{ + int nErr = DP2_OK; + int nPos; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + m_dParkAz = dAz; + + AzToTicks(dAz, nPos); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::setParkAz] nPos : %d\n", timestamp, nPos); + fprintf(Logfile, "[%s] [CDomePro::setParkAz] dAz : %3.3f\n", timestamp, dAz); + fflush(Logfile); +#endif + + setDomeParkAzimuth(nPos); + return nErr; +} + + +double CDomePro::getCurrentAz() +{ + if(m_bIsConnected) + getDomeAzPosition(m_dCurrentAzPosition); + + return m_dCurrentAzPosition; +} + +double CDomePro::getCurrentEl() +{ + if(m_bIsConnected) + getDomeEl(m_dCurrentElPosition); + + return m_dCurrentElPosition; +} + +int CDomePro::getCurrentShutterState() +{ + if(m_bIsConnected) + getDomeShutterStatus(m_nShutterState); + + return m_nShutterState; +} + +void CDomePro::setShutterAngleCalibration(int nShutter1OpenAngle, int nShutter1rOpenAngleADC, + int nShutter1CloseAngle, int nShutter1CloseAngleADC, + int nShutter2OpenAngle, int nShutter2rOpenAngleADC, + int nShutter2CloseAngle, int nShutter2CloseAngleADC, + bool bShutterGotoEnabled) +{ + m_Shutter1OpenAngle = nShutter1OpenAngle; + m_Shutter1OpenAngle_ADC = nShutter1rOpenAngleADC; + m_Shutter1CloseAngle = nShutter1CloseAngle; + m_Shutter1CloseAngle_ADC = nShutter1CloseAngleADC; + m_ADC_Ratio1 = (m_Shutter1OpenAngle_ADC - m_Shutter1CloseAngle_ADC) / (m_Shutter1OpenAngle - m_Shutter1CloseAngle); + + m_Shutter2OpenAngle = nShutter2OpenAngle; + m_Shutter2OpenAngle_ADC = nShutter2rOpenAngleADC; + m_Shutter2CloseAngle = nShutter2CloseAngle; + m_Shutter2CloseAngle_ADC = nShutter2CloseAngleADC; + m_ADC_Ratio2 = (m_Shutter2OpenAngle_ADC - m_Shutter2CloseAngle_ADC) / (m_Shutter2OpenAngle - m_Shutter2CloseAngle); + + m_bShutterGotoEnabled = bShutterGotoEnabled; + +} + + +void CDomePro::setDebugLog(bool bEnable) +{ + m_bDebugLog = bEnable; +} + + +#pragma mark - protected methods + +#pragma mark - dome communication + +int CDomePro::domeCommand(const char *pszCmd, char *pszResult, int nResultMaxLen) +{ + int nErr = DP2_OK; + unsigned char szResp[SERIAL_BUFFER_SIZE]; + unsigned long ulBytesWrite; + + m_pSerx->purgeTxRx(); + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::domeCommand] Sending %s\n",pszCmd); + m_pLogger->out(m_szLogBuffer); + } + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::domeCommand] Sending %s\n", timestamp, pszCmd); + fflush(Logfile); +#endif + + nErr = m_pSerx->writeFile((void *)pszCmd, strlen(pszCmd), ulBytesWrite); + m_pSerx->flushTx(); + if(nErr) + return nErr; + // read response + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::domeCommand] Getting response.\n"); + m_pLogger->out(m_szLogBuffer); + } + nErr = readResponse(szResp, SERIAL_BUFFER_SIZE); + if(nErr) { + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::domeCommand] error %d reading response : %s\n", timestamp, nErr, szResp); + fflush(Logfile); +#endif + return nErr; + } + if(pszResult) + strncpy(pszResult, (const char *)szResp, nResultMaxLen); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::domeCommand] got response : '%s'\n", timestamp, szResp); + fflush(Logfile); +#endif + + return nErr; + +} + + +int CDomePro::readResponse(unsigned char *pszRespBuffer, int nBufferLen) +{ + int nErr = DP2_OK; + unsigned long ulBytesRead = 0; + unsigned long ulTotalBytesRead = 0; + unsigned char *pszBufPtr; + + memset(pszRespBuffer, 0, (size_t) nBufferLen); + pszBufPtr = pszRespBuffer; + + do { + nErr = m_pSerx->readFile(pszBufPtr, 1, ulBytesRead, MAX_TIMEOUT); + if(nErr) { + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::readResponse] readFile error.\n"); + m_pLogger->out(m_szLogBuffer); + } + return nErr; + } + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 4 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::readResponse] *pszBufPtr = %02X\n", timestamp, *pszBufPtr); + fflush(Logfile); +#endif + + if (ulBytesRead !=1) {// timeout + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::readResponse] readFile Timeout.\n"); + m_pLogger->out(m_szLogBuffer); + } + nErr = DP2_BAD_CMD_RESPONSE; + break; + } + ulTotalBytesRead += ulBytesRead; + if (m_bDebugLog) { + snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::readResponse] nBytesRead = %lu\n",ulBytesRead); + m_pLogger->out(m_szLogBuffer); + } + // check for errors or single ACK + if(*pszBufPtr == ATCL_NACK) { + nErr = DP2_BAD_CMD_RESPONSE; + break; + } + + if(*pszBufPtr == ATCL_ACK) { + nErr = DP2_OK; + break; + } + + + } while (*pszBufPtr++ != ';' && ulTotalBytesRead < nBufferLen ); + + if(ulTotalBytesRead && *(pszBufPtr-1) == ';') + *(pszBufPtr-1) = 0; //remove the ; to zero terminate the string + + return nErr; +} + +#pragma mark - conversion functions + +// Convert pdAz to number of ticks from home. +void CDomePro::AzToTicks(double pdAz, int &ticks) +{ + if(!m_nNbStepPerRev) + getDomeAzCPR(m_nNbStepPerRev); + + ticks = (int) floor(0.5 + (pdAz - m_dHomeAz) * m_nNbStepPerRev / 360.0); + while (ticks > m_nNbStepPerRev) ticks -= m_nNbStepPerRev; + while (ticks < 0) ticks += m_nNbStepPerRev; +} + + +// Convert ticks from home to Az +void CDomePro::TicksToAz(int ticks, double &pdAz) +{ + if(!m_nNbStepPerRev) + getDomeAzCPR(m_nNbStepPerRev); + + pdAz = m_dHomeAz + (ticks * 360.0 / m_nNbStepPerRev); + while (pdAz < 0) pdAz += 360; + while (pdAz >= 360) pdAz -= 360; +} + + +#pragma mark - Dome movements + +int CDomePro::setDomeLeftOn(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = domeCommand("!DSol;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::setDomeRightOn(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + nErr = domeCommand("!DSor;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::killDomeAzimuthMovement(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + + nErr = domeCommand("!DXxa;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +#pragma mark - getter / setter + +int CDomePro::getDomeAzPosition(double &dDomeAz) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + int nTmp; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + if(m_bCalibrating) + return nErr; + + nErr = domeCommand("!DGap;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert Az hex string to long + nTmp = (int)strtoul(szResp, NULL, 16); + + TicksToAz(nTmp, dDomeAz); + + m_dCurrentAzPosition = dDomeAz; + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::getDomeAzPosition] nTmp = %s\n", timestamp, szResp); + fprintf(Logfile, "[%s] [CDomePro::getDomeAzPosition] nTmp = %d\n", timestamp, nTmp); + fprintf(Logfile, "[%s] [CDomePro::getDomeAzPosition] dDomeAz = %3.2f\n", timestamp, dDomeAz); + fflush(Logfile); +#endif + + return nErr; +} + +int CDomePro::getDomeEl(double &dDomeEl) +{ + int nErr = DP2_OK; + int nShutterState; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + getDomeShutterStatus(nShutterState); + + if(!m_bShutterOpened || !m_bHasShutter) + { + dDomeEl = 0.0; + } + else { + dDomeEl = 90.0; + } + + m_dCurrentElPosition = dDomeEl; + + return nErr; +} + + +int CDomePro::getDomeHomeAz(double &dAz) +{ + int nErr = DP2_OK; + + dAz = m_dHomeAz; + + return nErr; +} + +int CDomePro::getDomeParkAz(double &dAz) +{ + int nErr = DP2_OK; + int nPos; + + nErr = getDomeParkAzimuth(nPos); + if(nErr) + return nErr; + + TicksToAz(nPos, dAz); + + return nErr; +} + +int CDomePro::getDomeShutterStatus(int &nState) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + int nShutterState; + + nErr = domeCommand("!DGsx;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + nShutterState = (int)strtoul(szResp, NULL, 16); + + switch(nShutterState) { + case OPEN: + m_bShutterOpened = true; + break; + + case CLOSED: + m_bShutterOpened = false; + break; + + case NOT_FITTED: + m_bShutterOpened = false; + m_bHasShutter = false; + break; + default: + m_bShutterOpened = false; + + } + + nState = nShutterState; + + return nErr; +} + + +#pragma mark - command completion/state + +int CDomePro::isDomeMoving(bool &bIsMoving) +{ + int nErr = DP2_OK; + int nMode; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + bIsMoving = false; + + nErr = getDomeAzMoveMode(nMode); + if(nErr) + return nErr; + + if(nMode != FIXED && nMode != AZ_TO) + bIsMoving = true; + + return nErr; +} + +int CDomePro::isDomeAtHome(bool &bAtHome) +{ + int nErr = DP2_OK; + + if(!m_bIsConnected) + return NOT_CONNECTED; + + bAtHome = false; + + nErr = getDomeLimits(); + if(nErr) { + return nErr; + } + if(m_nAtHomeState == ACTIVE) + bAtHome = true; + + return nErr; +} + +#pragma mark - DomePro getter/setter + +int CDomePro::setDomeAzCPR(int nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + // nCpr must be betweem 0x20 and 0x40000000 and be even + if(nValue < 0x20 ) + nValue = 0x20; + if(nValue>0x40000000) + nValue = 0x40000000; + nValue &= 0XFFFFFFFE; // makes it an even number + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DScp0x%08X;", nValue); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeAzCPR(int &nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGcp;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nValue = (int)strtoul(szResp, NULL, 16); + return nErr; +} + +int CDomePro::getLeftCPR() +{ + return m_nLeftCPR; +} + +int CDomePro::getRightCPR() +{ + return m_nRightCPR; + +} + + +#pragma mark not yet implemented in the firmware +int CDomePro::setDomeMaxVel(int nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + // nValue must be betweem 0x01 and 0x7C (124) + if(nValue < 0x1 ) + nValue = 0x1; + if(nValue>0x7C) + nValue = 0x7C; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSmv0x%08X;", nValue); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::getDomeMaxVel(int &nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGmv;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nValue = (int)strtoul(szResp, NULL, 16); + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::setDomeAccel(int nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + // nValue must be betweem 0x01 and 0xFF (255) + if(nValue < 0x1 ) + nValue = 0x1; + if(nValue>0xFF) + nValue = 0xFF; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSma0x%08X;", nValue); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::getDomeAccel(int &nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGma;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nValue = (int)strtoul(szResp, NULL, 16); + return nErr; +} + + + +int CDomePro::setDomeAzCoast(int nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + // nCpr must be betweem 0x20 and 0x40000000 and be even + if(nValue < 0x1 ) + nValue = 0x1; + if(nValue>0x7C) + nValue = 0x7C; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSco0x%08X;", nValue); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeAzCoast(int &nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGco;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nValue = (int)strtoul(szResp, NULL, 16); + return nErr; +} + +int CDomePro::getDomeAzDiagPosition(int &nValue) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGdp;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nValue = (int)strtoul(szResp, NULL, 16); + return nErr; +} + +int CDomePro::clearDomeAzDiagPosition(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DCdp;", szResp, SERIAL_BUFFER_SIZE); + return nErr; +} + +int CDomePro::getDomeAzMoveMode(int &mode) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGam;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + if(strstr(szResp, "Fixed")) { + mode = FIXED; + } + else if(strstr(szResp, "Left")) { + mode = LEFT; + } + else if(strstr(szResp, "Right")) { + mode = RIGHT; + } + else if(strstr(szResp, "GoTo")) { + mode = GOTO; + } + else if(strstr(szResp, "Homing")) { + mode = HOMING; + } + else if(strstr(szResp, "AzimuthTO")) { + mode = AZ_TO; + } + else if(strstr(szResp, "Gauging")) { + mode = GAUGING; + } + else if(strstr(szResp, "Parking")) { + mode = PARKING; + } + return nErr; +} + +int CDomePro::getDomeLimits(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + uint16_t nLimits; + + nErr = domeCommand("!DGdl;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + nLimits = (uint16_t)strtoul(szResp, NULL, 16); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] nLimits : %04X\n", timestamp, nLimits); + fflush(Logfile); +#endif + + m_nShutter1OpenedSwitchState = (nLimits & BitShutter1_Opened ? ACTIVE : INNACTIVE); + m_nShutter1ClosedSwitchState = (nLimits & BitShutter1_Closed ? ACTIVE : INNACTIVE); + + m_nShutter2OpenedSwitchState = (nLimits & BitShutter2_Opened ? ACTIVE : INNACTIVE); + m_nShutter2ClosedSwitchState = (nLimits & BitShutter2_Closed ? ACTIVE : INNACTIVE); + + m_nAtHomeState = (nLimits & BitAtHome ? ACTIVE : INNACTIVE); + m_nAtHomeSwitchState = (nLimits & BitHomeSwitchState ? ACTIVE : INNACTIVE); + m_nAtParkSate = (nLimits & BitAtPark ? ACTIVE : INNACTIVE); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter1OpenedSwitchState : %d\n", timestamp, m_nShutter1OpenedSwitchState); + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter1ClosedSwitchState : %d\n", timestamp, m_nShutter1ClosedSwitchState); + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter2OpenedSwitchState : %d\n", timestamp, m_nShutter2OpenedSwitchState); + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter2ClosedSwitchState : %d\n", timestamp, m_nShutter2ClosedSwitchState); + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nAtHomeState : %d\n", timestamp, m_nAtHomeState); + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nAtHomeSwitchState : %d\n", timestamp, m_nAtHomeSwitchState); + fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nAtParkSate : %d\n", timestamp, m_nAtParkSate); + fflush(Logfile); +#endif + + return nErr; +} + + +int CDomePro::setDomeHomeDirection(int nDir) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + if(nDir == LEFT) { + nErr = domeCommand("!DShdLeft;", szResp, SERIAL_BUFFER_SIZE); + } + else if (nDir == RIGHT) { + nErr = domeCommand("!DShdRight;", szResp, SERIAL_BUFFER_SIZE); + } + else { + return INVALID_COMMAND; + } + + return nErr; +} + +int CDomePro::getDomeHomeDirection(int &nDir) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGhd;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + if(strstr(szResp, "Left")) { + nDir = LEFT; + } + else if(strstr(szResp, "Right")) { + nDir = RIGHT; + } + return nErr; +} + + +int CDomePro::setDomeHomeAzimuth(int nPos) +{ + + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nPos < 0 && nPos> m_nNbStepPerRev) + return COMMAND_FAILED; + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::setDomeHomeAzimuth] nPos : %d\n", timestamp, nPos); + fflush(Logfile); +#endif + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSha0x%08X;", nPos); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::setDomeAzimuthOCP_Limit(double dLimit) +{ + + int nErr = DP2_OK; + int ulTmp; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + ulTmp = (int)floor((dLimit/0.0468f)+0.5); + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSxa0x%08X;", ulTmp); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeAzimuthOCP_Limit(double &dLimit) +{ + int nErr = DP2_OK; + int ulTmp; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGxa;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + ulTmp = (int)strtoul(szResp, NULL, 16); + + dLimit = (double)ulTmp * 0.0468f; + + return nErr; +} + + +int CDomePro::getDomeHomeAzimuth(int &nPos) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGha;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nPos = (int)strtoul(szResp, NULL, 16); +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::getDomeHomeAzimuth] szResp : %s\n", timestamp, szResp); + fprintf(Logfile, "[%s] [CDomePro::getDomeHomeAzimuth] nPos : %d\n", timestamp, nPos); + fflush(Logfile); +#endif + + return nErr; +} + +int CDomePro::homeDomeAzimuth(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSah;", szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + + +int CDomePro::goToDomeAzimuth(int nPos) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nPos < 0 && nPos> m_nNbStepPerRev) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSgo0x%08X;", nPos); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::goToDomeElevation(int nADC1, int nADC2) +{ + int nErr = DP2_OK; + + if(nADC1 < 0 && nADC2> 4095) + return COMMAND_FAILED; + + if(nADC2 < 0 && nADC2> 4095) + return COMMAND_FAILED; + + nErr = GoToDomeShutter1_ADC(nADC1); + if(nErr) + return nErr; + nErr = GoToDomeShutter1_ADC(nADC2); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::GoToDomeShutter1_ADC(int nADC) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nADC < 0 && nADC> 4095) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSg10x%08X;", nADC); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::GoToDomeShutter2_ADC(int nADC) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nADC < 0 && nADC> 4095) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSg20x%08X;", nADC); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + + +int CDomePro::setDomeParkAzimuth(int nPos) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nPos < 0 && nPos> m_nNbStepPerRev) + return COMMAND_FAILED; + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::setDomeParkAzimuth] nPos : %d\n", timestamp, nPos); + fflush(Logfile); +#endif + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSpa0x%08X;", nPos); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeParkAzimuth(int &nPos) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGpa;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nPos = (int)strtoul(szResp, NULL, 16); + +#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 + ltime = time(NULL); + timestamp = asctime(localtime(<ime)); + timestamp[strlen(timestamp) - 1] = 0; + fprintf(Logfile, "[%s] [CDomePro::getDomeParkAzimuth] szResp : %s\n", timestamp, szResp); + fprintf(Logfile, "[%s] [CDomePro::getDomeParkAzimuth] nPos : %d\n", timestamp, nPos); + fflush(Logfile); +#endif + + return nErr; +} + +int CDomePro::calibrateDomeAzimuth(int nPos) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nPos < 0 && nPos> m_nNbStepPerRev) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSca0x%08X;", nPos); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::startDomeAzGaugeRight() +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSgr;", szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeAzGaugeRight(int &nSteps) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGgr;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nSteps = (int)strtoul(szResp, NULL, 16); + if(!nSteps) { // if we get 0x00000000 there was an error + // restore old value + m_nNbStepPerRev = m_nNbStepPerRev_save; + return ERR_CMDFAILED; + } + m_nNbStepPerRev = nSteps; + + return nErr; +} + +int CDomePro::startDomeAzGaugeLeft() +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSgl;", szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeAzGaugeLeft(int &nSteps) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGgl;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nSteps = (int)strtoul(szResp, NULL, 16); + if(!nSteps) { // if we get 0x00000000 there was an error + // restore old value + m_nNbStepPerRev = m_nNbStepPerRev_save; + return ERR_CMDFAILED; + } + m_nNbStepPerRev = nSteps; + + return nErr; +} + + + +int CDomePro::killDomeShutterMovement(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DXxs;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::getDomeDebug(char *pszDebugStrBuff, int nStrMaxLen) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGdg;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + strncpy(pszDebugStrBuff, szResp, nStrMaxLen); + + return nErr; +} + +#pragma mark - low level dome data getter/setter + +int CDomePro::getDomeSupplyVoltageAzimuthL(double &dVolts) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGva;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dVolts = (double)ulTmp * 0.00812763; + + return nErr; +} + +int CDomePro::getDomeSupplyVoltageShutterL(double &dVolts) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGvs;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dVolts = (double)ulTmp * 0.00812763; + + return nErr; +} + +#pragma mark FIX VOLTAGE MULTIPLIER +int CDomePro::getDomeSupplyVoltageAzimuthM(double &dVolts) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGoa;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dVolts = (double)ulTmp * 1; // TBD + + return nErr; +} + + +#pragma mark FIX VOLTAGE MULTIPLIER +int CDomePro::getDomeSupplyVoltageShutterM(double &dVolts) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGos;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dVolts = (double)ulTmp * 1; // TBD + + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::getDomeRotationSenseAnalog(double &dVolts) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGra;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dVolts = (double)ulTmp / 255 * 5; // FF = 5v, 0 = 0v + + return nErr; + +} + +int CDomePro::setDomeShutter1_OpTimeOut(int nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nTimeout < 10 && nTimeout > 500) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSt10x%08X;", nTimeout); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeShutter1_OpTimeOut(int &nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGt1;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nTimeout = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::setDomeShutter2_OpTimeOut(int nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nTimeout < 10 && nTimeout > 500) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSt20x%08X;", nTimeout); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; + +} + +int CDomePro::getDomeShutter2_OpTimeOut(int &nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGt2;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nTimeout = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::setDomeShutODirTimeOut(int nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nTimeout < 10 && nTimeout > 500) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSto0x%08X;", nTimeout); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeShutODirTimeOut(int &nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGto;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nTimeout = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::setDomeAzimuthTimeOutEnabled(bool bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnable) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSaeYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSaeNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; + +} + +int CDomePro::getDomeAzimuthTimeOutEnabled(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGae;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + +int CDomePro::setDomeAzimuthTimeOut(int nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nTimeout < 10 && nTimeout > 500) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSta0x%08X;", nTimeout); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeAzimuthTimeOut(int &nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGta;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nTimeout = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::setDomeShutCloseOnLinkTimeOut(bool bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnable) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DStsYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DStsNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; + +} + +int CDomePro::getDomeShutCloseOnLinkTimeOut(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGts;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + +int CDomePro::setDomeShutCloseOnClientTimeOut(bool bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnable) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSteYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSteNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeShutCloseOnClientTimeOut(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGte;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + +int CDomePro::setDomeShutCloseClientTimeOut(int nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(nTimeout < 10 && nTimeout > 500) + return COMMAND_FAILED; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DStc0x%08X;", nTimeout); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeShutCloseClientTimeOut(int &nTimeout) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGtc;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nTimeout = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::setShutterAutoCloseEnabled(bool bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnable) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSanYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSanNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; + +} + +int CDomePro::getShutterAutoCloseEnabled(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGan;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + + +#pragma mark not yet implemented in the firmware +int CDomePro::setDomeShutOpAtHome(bool bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnable) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::getDomeShutOpAtHome(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGsh;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + +int CDomePro::getDomeShutdownInputState(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGsi;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + +int CDomePro::getDomePowerGoodInputState(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGpi;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::getLastDomeShutdownEvent(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGlv;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // need to parse output and set some varaible/structure representing the event + + return nErr; +} + +int CDomePro::setDomeSingleShutterMode(bool bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnable) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSssYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSssNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeSingleShutterMode(bool &bEnable) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnable = false; + + nErr = domeCommand("!DGss;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + if(strstr(szResp,"Yes")) + bEnable = true; + + return nErr; +} + +int CDomePro::getDomeLinkErrCnt(int &nErrCnt) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGle;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nErrCnt = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::clearDomeLinkErrCnt(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DCle;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::getDomeComErr(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGce;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // need to parse output and set some varaible/structure representing the comms errors + + return nErr; +} + +#pragma mark not yet implemented in the firmware +int CDomePro::clearDomeComErr(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DCce;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::openDomeShutter1(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSo1;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::openDomeShutter2(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSo2;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::closeDomeShutter1(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSc1;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::closeDomeShutter2(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSc2;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::stopDomeShutter1(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSs1;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + +int CDomePro::stopDomeShutter2(void) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DSs2;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + return nErr; +} + + +int CDomePro::getDomeShutter1_ADC(int &nPos) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGa1;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nPos = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::getDomeShutter2_ADC(int &nPos) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGa2;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nPos = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::setDomeShutterOpenFirst(int nShutter) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSof0x%02X;", nShutter); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; + +} + +int CDomePro::getDomeShutterOpenFirst(int &nShutter) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGof;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nShutter = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::setDomeShutterCloseFirst(int nShutter) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DScf0x%02X;", nShutter); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; + +} + +int CDomePro::getDomeShutterCloseFirst(int &nShutter) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGcf;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + nShutter = (int)strtoul(szResp, NULL, 16); + + return nErr; +} + +int CDomePro::getDomeShutterMotorADC(double &dVolts) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGsc;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dVolts = (double)ulTmp / 1023.0 * 3.3; + dVolts = (dVolts - 1.721) / 0.068847; + if (dVolts < 0.0) + dVolts = 0.0; + + return nErr; +} + +int CDomePro::getDomeAzimuthMotorADC(double &dVolts) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGac;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dVolts = (double)ulTmp / 1023.0 * 3.3; + dVolts = (dVolts - 1.721) / 0.068847; + if (dVolts < 0.0) + dVolts = 0.0; + + return nErr; +} + +int CDomePro::getDomeShutterTempADC(double &dTemp) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGst;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dTemp = (double)ulTmp / 1023.0 * 3.3 - 0.5; + dTemp = dTemp / 0.01; + + return nErr; +} + +int CDomePro::getDomeAzimuthTempADC(double &dTemp) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + unsigned int ulTmp; + + nErr = domeCommand("!DGat;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string + ulTmp = (int)strtoul(szResp, NULL, 16); + + dTemp = (double)ulTmp / 1023.0 * 3.3 - 0.5; + dTemp = dTemp / 0.01; + + return nErr; +} + +int CDomePro::setDomeShutOpOnHome(bool bEnabled) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnabled) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeShutOpOnHome(bool &bEnabled) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnabled = false; + + nErr = domeCommand("!DGsh;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + if(strstr(szResp,"Yes")) + bEnabled = true; + + return nErr; +} + + +int CDomePro::setHomeWithShutterClose(bool bEnabled) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnabled) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSchYes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSchNo;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getHomeWithShutterClose(bool &bEnabled) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnabled = false; + + nErr = domeCommand("!DGch;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + if(strstr(szResp,"Yes")) + bEnabled = true; + + return nErr; +} + +int CDomePro::setShutter1_LimitFaultCheckEnabled(bool bEnabled) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnabled) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl1Yes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl1No;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getShutter1_LimitFaultCheckEnabled(bool &bEnabled) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnabled = false; + + nErr = domeCommand("!DGl1;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + if(strstr(szResp,"Yes")) + bEnabled = true; + + return nErr; +} + +int CDomePro::setShutter2_LimitFaultCheckEnabled(bool bEnabled) +{ int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + if(bEnabled) + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl2Yes;"); + else + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl2No;"); + + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getShutter2_LimitFaultCheckEnabled(bool &bEnabled) +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + bEnabled = false; + + nErr = domeCommand("!DGl2;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + if(strstr(szResp,"Yes")) + bEnabled = true; + + return nErr; +} + +int CDomePro::setDomeShutter1_OCP_Limit(double dLimit) +{ + int nErr = DP2_OK; + int ulTmp; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + ulTmp = (int)floor((dLimit/0.0468f)+0.5); + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSx10x%08X;", ulTmp); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeShutter1_OCP_Limit(double &dLimit) +{ + int nErr = DP2_OK; + int ulTmp; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGx1;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + ulTmp = (int)strtoul(szResp, NULL, 16); + + dLimit = (double)ulTmp * 0.0468f; + + return nErr; + +} + +int CDomePro::setDomeShutter2_OCP_Limit(double dLimit) +{ + int nErr = DP2_OK; + int ulTmp; + char szResp[SERIAL_BUFFER_SIZE]; + char szCmd[SERIAL_BUFFER_SIZE]; + + ulTmp = (int)floor((dLimit/0.0468f)+0.5); + + snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSx20x%08X;", ulTmp); + nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); + + return nErr; +} + +int CDomePro::getDomeShutter2_OCP_Limit(double &dLimit) +{ + int nErr = DP2_OK; + int ulTmp; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DGx2;", szResp, SERIAL_BUFFER_SIZE); + if(nErr) + return nErr; + + // convert result hex string to long + ulTmp = (int)strtoul(szResp, NULL, 16); + + dLimit = (double)ulTmp * 0.0468f; + + return nErr; + +} + + + +int CDomePro::clearDomeLimitFault() +{ + int nErr = DP2_OK; + char szResp[SERIAL_BUFFER_SIZE]; + + nErr = domeCommand("!DClf;", szResp, SERIAL_BUFFER_SIZE); + return nErr; +} + + + +void CDomePro::hexdump(const char* inputData, char *outBuffer, int size) +{ + char *buf = outBuffer; + int idx=0; + for(idx=0; idx +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef SB_MAC_BUILD +#include +#endif + + +#include +#include +#include +#include + +#include "licensedinterfaces/sberrorx.h" +#include "licensedinterfaces/serxinterface.h" +#include "licensedinterfaces/loggerinterface.h" + +// #define ATCL_DEBUG 2 // define this to have log files, 1 = bad stuff only, 2 and up.. full debug + +#define SERIAL_BUFFER_SIZE 256 +#define MAX_TIMEOUT 5000 +#define DP2_LOG_BUFFER_SIZE 256 + +/// ATCL response code +#define ATCL_ACK 0x8F +#define ATCL_NACK 0xA5 + +// some DomePro2 value definitions +#define CLASSIC_DOME 0x0D +#define CLAMSHELL 0x0E +#define ROR 0x0F + +// Dome limits bitfield def +#define BitShutter1_Opened (0x1)<<0 +#define BitShutter1_Closed (0x1)<<1 +#define BitShutter2_Opened (0x1)<<2 +#define BitShutter2_Closed (0x1)<<3 +#define BitShutter1_Opened_Fault (0x1)<<4 +#define BitShutter1_Closed_Fault (0x1)<<5 +#define BitShutter2_Opened_Fault (0x1)<<6 +#define BitShutter2_Closed_Fault (0x1)<<7 +#define BitAtHome (0x1)<<8 +#define BitHomeSwitchState (0x1)<<9 +#define BitAtPark (0x1)<<10 + + +enum DomePro2_Module {MODULE_AZ = 0, MODULE_SHUT, MODULE_UKNOWN}; +enum DomePro2_Motor {ON_OFF = 0, STEP_DIR, MOTOR_UNKNOWN}; +enum DomePro2_Polarity {POSITIVE = 0, NEGATIVE, POLARITY_UKNOWN}; +enum DomeAzMoveMode {FIXED = 0, LEFT, RIGHT, GOTO, HOMING, AZ_TO, GAUGING, PARKING, NONE, CLEARING_RIGHT, CLEARING_LEFT}; + +enum DomeProErrors {DP2_OK=0, NOT_CONNECTED, DP2_CANT_CONNECT, DP2_BAD_CMD_RESPONSE, COMMAND_FAILED, INVALID_COMMAND}; + +enum DomeProShutterState {OPEN=0, CLOSED, OPENING, CLOSING, SHUTTER_ERROR, NO_COM, + SHUT1_OPEN_TO, SHUT1_CLOSE_TO, SHUT2_OPEN_TO, SHUT2_CLOSE_TO, + SHUT1_OPEN_COMPL_TO, SHUT1_CLOSE_COMPL_TO, + SHUT2_OPEN_COMPL_TO, SHUT2_CLOSE_COMPL_TO, + NOT_FITTED, INTERMEDIATE, SHUT_GOTO + }; + +enum SwitchState { INNACTIVE = 0, ACTIVE}; + +class CDomePro +{ +public: + CDomePro(); + ~CDomePro(); + + int Connect(const char *szPort); + void Disconnect(void); + bool IsConnected(void) { return m_bIsConnected; } + + void SetSerxPointer(SerXInterface *p) { m_pSerx = p; } + void setLogger(LoggerInterface *pLogger) { m_pLogger = pLogger; }; + + // Dome movement commands + int syncDome(double dAz, double dEl); + + int gotoDomePark(void); + + int unparkDome(void); + int gotoAzimuth(double newAz); + int gotoElevation(double newEl); + int openDomeShutters(); + int CloseDomeShutters(); + int abortCurrentCommand(); + int goHome(); + int learnAzimuthCprRight(); + int learnAzimuthCprLeft(); + + // Dome informations + int getFirmwareVersion(char *version, int strMaxLen); + int getModel(char *model, int strMaxLen); + int getModelType(); + int getModuleType(int &nModuleType); + int getDomeAzMotorType(int &nMotorType); + + int setDomeAzMotorPolarity(int nPolarity); + int getDomeAzMotorPolarity(int &nPolarity); + + int setDomeAzEncoderPolarity(int nPolarity); + int getDomeAzEncoderPolarity(int &nPolarity); + + bool hasShutterUnit(); + + // command complete functions + int isGoToComplete(bool &complete); + int isGoToElComplete(bool &complete); + int isOpenComplete(bool &complete); + int isCloseComplete(bool &complete); + int isParkComplete(bool &complete); + int isUnparkComplete(bool &complete); + int isFindHomeComplete(bool &complete); + int isLearningCPRComplete(bool &complete); + int isPassingHomeComplete(bool &bComplete); + + int isDomeAtHome(bool &bAtHome); + // movements + int isDomeMoving(bool &bIsMoving); + int setDomeLeftOn(void); + int setDomeRightOn(void); + + + // getter/setter + int getDomeHomeAz(double &dAz); + int setHomeAz(double dAz); + + int getDomeAzCoast(double &dAz); + int setDomeAzCoast(double dAz); + + int setParkAz(double dAz); + + double getCurrentAz(); + double getCurrentEl(); + + int getCurrentShutterState(); + + void setShutterAngleCalibration(int nShutter1OpenAngle, int nShutter1rOpenAngleADC, + int nShutter1CloseAngle, int nShutter1CloseAngleADC, + int nShutter2OpenAngle, int nShutter2rOpenAngleADC, + int nShutter2CloseAngle, int nShutter2CloseAngleADC, + bool bShutterGotoEnabled); + + void setDebugLog(bool enable); + + // dome states + int getDomeAzPosition(double &dDomeAz); + int getDomeEl(double &dDomeEl); + + + int getDomeParkAz(double &dAz); + + int getDomeShutterStatus(int &nState); + + int setDomeAzCPR(int nValue); + int getDomeAzCPR(int &nValue); + int getLeftCPR(); + int getRightCPR(); + + // controller low level data + int getDomeSupplyVoltageAzimuthL(double &dVolts); + int getDomeSupplyVoltageShutterL(double &dVolts); + int getDomeSupplyVoltageAzimuthM(double &dVolts); + int getDomeSupplyVoltageShutterM(double &dVolts); + // not yet implemented in the firmware + int getDomeRotationSenseAnalog(double &dVolts); + // + int setDomeShutter1_OpTimeOut(int nTimeout); + int getDomeShutter1_OpTimeOut(int &nTimeout); + int setDomeShutter2_OpTimeOut(int nTimeout); + int getDomeShutter2_OpTimeOut(int &nTimeout); + + int setDomeShutODirTimeOut(int nTimeout); + int getDomeShutODirTimeOut(int &nTimeout); + + int setDomeAzimuthTimeOutEnabled(bool bEnable); + int getDomeAzimuthTimeOutEnabled(bool &bEnable); + int setDomeAzimuthTimeOut(int nTimeout); + int getDomeAzimuthTimeOut(int &nTimeout); + int setDomeShutCloseOnLinkTimeOut(bool bEnable); + int getDomeShutCloseOnLinkTimeOut(bool &bEnable); + int setDomeShutCloseOnClientTimeOut(bool bEnable); + int getDomeShutCloseOnClientTimeOut(bool &bEnable); + int setDomeShutCloseClientTimeOut(int nTimeout); + int getDomeShutCloseClientTimeOut(int &nTimeout); + + int setShutterAutoCloseEnabled(bool bEnable); + int getShutterAutoCloseEnabled(bool &bEnable); + + int getDomeAzDiagPosition(int &nValue); + int clearDomeAzDiagPosition(void); + + // not yet implemented in the firmware + int setDomeShutOpAtHome(bool bEnable); + int getDomeShutOpAtHome(bool &bEnable); + // + + int getDomeShutdownInputState(bool &bEnable); + int getDomePowerGoodInputState(bool &bEnable); + + // not yet implemented in the firmware + int getLastDomeShutdownEvent(void); + // + int setDomeSingleShutterMode(bool bEnable); + int getDomeSingleShutterMode(bool &bEnable); + + int getDomeLinkErrCnt(int &nErrCnt); + int clearDomeLinkErrCnt(void); + + // not yet implemented in the firmware + int getDomeComErr(void); + int clearDomeComErr(void); + // + int setDomeHomeDirection(int nDir); + int getDomeHomeDirection(int &nDir); + + int setDomeAzimuthOCP_Limit(double dLimit); + int getDomeAzimuthOCP_Limit(double &dLimit); + + int setDomeShutterOpenFirst(int nShutter); + int getDomeShutterOpenFirst(int &nShutter); + int setDomeShutterCloseFirst(int nShutter); + int getDomeShutterCloseFirst(int &nShutter); + + int getDomeShutterMotorADC(double &dVolts); + int getDomeAzimuthMotorADC(double &dVolts); + int getDomeShutterTempADC(double &dTemp); + int getDomeAzimuthTempADC(double &dTemp); + + int setDomeShutOpOnHome(bool bEnabled); + int getDomeShutOpOnHome(bool &bEnabled); + + int setHomeWithShutterClose(bool bCloseOnHome); + int getHomeWithShutterClose(bool &bCloseOnHome); + + int setShutter1_LimitFaultCheckEnabled(bool bEnabled); + int getShutter1_LimitFaultCheckEnabled(bool &bEnabled); + + int setShutter2_LimitFaultCheckEnabled(bool bEnabled); + int getShutter2_LimitFaultCheckEnabled(bool &bEnabled); + + int setDomeShutter1_OCP_Limit(double dLimit); + int getDomeShutter1_OCP_Limit(double &dLimit); + + int setDomeShutter2_OCP_Limit(double dLimit); + int getDomeShutter2_OCP_Limit(double &dLimit); + + int clearDomeLimitFault(); + +protected: + + int domeCommand(const char *pszCmd, char *pszResult, int nResultMaxLen); + int readResponse(unsigned char *pszRespBuffer, int bufferLen); + + // conversion functions + void AzToTicks(double pdAz, int &ticks); + void TicksToAz(int ticks, double &pdAz); + + int killDomeAzimuthMovement(void); + + // DomePro getter / setter + + // not yet implemented in the firmware + int setDomeMaxVel(int nValue); + int getDomeMaxVel(int &nValue); + int setDomeAccel(int nValue); + int getDomeAccel(int &nValue); + // + + int setDomeAzCoast(int nValue); + int getDomeAzCoast(int &nValue); + int getDomeAzMoveMode(int &mode); + int getDomeLimits(void); + + int setDomeHomeAzimuth(int nPos); + int getDomeHomeAzimuth(int &nPos); + int homeDomeAzimuth(void); + int goToDomeAzimuth(int nPos); + int goToDomeElevation(int nADC1, int nADC2); + int GoToDomeShutter1_ADC(int nADC); + int GoToDomeShutter2_ADC(int nADC); + + int setDomeParkAzimuth(int nPos); + int getDomeParkAzimuth(int &nPos); + int calibrateDomeAzimuth(int nPos); + int startDomeAzGaugeRight(); + int getDomeAzGaugeRight(int &nSteps); + int startDomeAzGaugeLeft(); + int getDomeAzGaugeLeft(int &nSteps); + + int killDomeShutterMovement(void); + + int getDomeDebug(char *pszDebugStrBuff, int nStrMaxLen); + + int openDomeShutter1(void); + int openDomeShutter2(void); + int closeDomeShutter1(void); + int closeDomeShutter2(void); + int stopDomeShutter1(void); + int stopDomeShutter2(void); + int getDomeShutter1_ADC(int &nPos); + int getDomeShutter2_ADC(int &nPos); + + + void hexdump(const char *inputData, char *outBuffer, int size); + + SerXInterface* m_pSerx; + LoggerInterface* m_pLogger; + bool m_bDebugLog; + + bool m_bIsConnected; + bool m_bHomed; + bool m_bParked; + bool m_bCalibrating; + + int m_nNbStepPerRev; + int m_nNbStepPerRev_save; + int m_nRightCPR; + int m_nLeftCPR; + int m_nLearning; + + double m_dHomeAz; + double m_dParkAz; + double m_dCurrentAzPosition; + double m_dCurrentElPosition; + double m_dGotoAz; + double m_dGotoEl; + int m_nTargetAdc; + + + char m_szFirmwareVersion[SERIAL_BUFFER_SIZE]; + int m_nShutterState; + bool m_bHasShutter; + bool m_bShutterOpened; + + char m_szLogBuffer[DP2_LOG_BUFFER_SIZE]; + int m_nModel; + int m_nModuleType; + int m_nMotorType; + int m_nMotorPolarity; + int m_nAzEncoderPolarity; + + int m_nShutter1OpenedSwitchState; + int m_nShutter1ClosedSwitchState; + int m_nShutter2OpenedSwitchState; + int m_nShutter2ClosedSwitchState; + int m_nAtHomeState; + int m_nAtHomeSwitchState; + int m_nAtParkSate; + + char m_hexdumpBuffer[(SERIAL_BUFFER_SIZE*3)+1]; + + int m_Shutter1OpenAngle; + int m_Shutter1OpenAngle_ADC; + int m_Shutter1CloseAngle; + int m_Shutter1CloseAngle_ADC; + double m_ADC_Ratio1; + + int m_Shutter2OpenAngle; + int m_Shutter2OpenAngle_ADC; + int m_Shutter2CloseAngle; + int m_Shutter2CloseAngle_ADC; + double m_ADC_Ratio2; + + bool m_bShutterGotoEnabled; + +#ifdef ATCL_DEBUG + std::string m_sLogfilePath; + // timestamp for logs + char* timestamp; + time_t ltime; + FILE* Logfile; // LogFile +#endif + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui new file mode 100644 index 0000000..73d2403 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui @@ -0,0 +1,545 @@ + + + X2Dome + + + + 0 + 0 + 600 + 550 + + + + + 600 + 550 + + + + + 600 + 550 + + + + DomePro settings + + + + + + + 560 + 0 + + + + + 9999 + 9999 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 8 + 160 + 560 + 280 + + + + Dome Azimuth Settings + + + + + 288 + 24 + 264 + 248 + + + + Encoders + + + + + 8 + 96 + 136 + 24 + + + + Gauge CPR right + + + + + + 8 + 160 + 248 + 24 + + + + Encoder Polarity (checked = positive) + + + + + + 8 + 64 + 136 + 24 + + + + Rotation coast (deg.) : + + + + + + 8 + 32 + 136 + 24 + + + + Counts per rev : + + + + + + 152 + 32 + 80 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 65535 + + + + + + 152 + 64 + 80 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 360.000000000000000 + + + + + + 8 + 128 + 136 + 24 + + + + Gauge CPR left + + + + + + 152 + 96 + 96 + 24 + + + + : R_Value + + + + + + 152 + 128 + 96 + 24 + + + + : L_Value + + + + + + 72 + 184 + 168 + 24 + + + + Set CPR from Gauged + + + + + + + 8 + 24 + 264 + 96 + + + + Motors + + + + + 8 + 24 + 232 + 24 + + + + Polarity (checked = positive) + + + + + + 16 + 48 + 168 + 24 + + + + Over current protection (A): + + + + + + 184 + 48 + 62 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 24 + 72 + 128 + 16 + + + + (0.0 to disable OCP) + + + + + + + 8 + 136 + 264 + 136 + + + + Homing + + + + + 16 + 64 + 136 + 24 + + + + Home Position (Deg.) : + + + + + + 168 + 64 + 80 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 359.990000000000009 + + + + + + 16 + 32 + 136 + 24 + + + + Homing direction : + + + + + + 128 + 32 + 120 + 24 + + + + + Moving Left + + + + + Moving Right + + + + + + + 16 + 96 + 136 + 24 + + + + Park Position (Deg.) : + + + + + + 168 + 96 + 80 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 359.990000000000009 + + + + + + + + 152 + 8 + 264 + 148 + + + + + + + © RTI-Zone.org, 2018 + + + + + + + + + + Astrometric.png + + + Qt::AlignCenter + + + Astrometric.png + + + + + + + + + 344 + 480 + 213 + 40 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Cancel + + + + + + + OK + + + false + + + true + + + true + + + + + + + + + 336 + 448 + 200 + 24 + + + + Diagnostic data + + + + + + 40 + 448 + 216 + 24 + + + + Dome Shutter/Roof seetings + + + + + + 40 + 480 + 216 + 24 + + + + Timeouts and automatic closure + + + layoutWidget + layoutWidget + MaxDomeIIParams + pushButton_2 + pushButton_3 + pushButton_4 + + + + + + + X2Form + QFrame +
x2form.h
+ 1 +
+
+ + + + + 8 + + + 8 + + + true + + + true + + + true + + +
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui new file mode 100644 index 0000000..718590d --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui @@ -0,0 +1,453 @@ + + + X2Dome + + + + 0 + 0 + 344 + 454 + + + + + 344 + 454 + + + + + 344 + 454 + + + + Diagnostic data + + + + + + + 0 + 0 + + + + + 9999 + 9999 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 24 + 8 + 272 + 192 + + + + Azimuth + + + + + 24 + 40 + 144 + 24 + + + + Azimuth supply voltage : + + + + + + 176 + 40 + 72 + 24 + + + + 1000 Volts + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 24 + 64 + 144 + 24 + + + + Azimuth motor current : + + + + + + 176 + 64 + 72 + 24 + + + + 10 Amps + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 24 + 88 + 144 + 24 + + + + Azimuth temperature : + + + + + + 176 + 88 + 72 + 24 + + + + 30 Deg. C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 24 + 120 + 112 + 24 + + + + Dignostic count : + + + + + + 144 + 120 + 56 + 24 + + + + 100000 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 24 + 152 + 112 + 24 + + + + Dignostic degrees : + + + + + + 144 + 152 + 56 + 24 + + + + 100000 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 200 + 120 + 64 + 24 + + + + Clear + + + + + + 200 + 152 + 64 + 24 + + + + Clear + + + + + + + 24 + 208 + 272 + 152 + + + + Shutter + + + + + 24 + 32 + 144 + 24 + + + + Shutter supply voltage : + + + + + + 176 + 32 + 72 + 24 + + + + 1000 Volts + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 176 + 80 + 72 + 24 + + + + 30 Deg. C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 24 + 56 + 144 + 24 + + + + Shutter motor current : + + + + + + 24 + 80 + 144 + 24 + + + + Shutter temperature : + + + + + + 176 + 56 + 72 + 24 + + + + 10 Amps + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 24 + 112 + 96 + 24 + + + + RF link errors : + + + + + + 120 + 112 + 56 + 24 + + + + 100000 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 176 + 112 + 64 + 24 + + + + Clear + + + + + + + 88 + 384 + 213 + 40 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + OK + + + false + + + true + + + true + + + + + + layoutWidget + MaxDomeIIParams + groupBox_3 + + + + + + + X2Form + QFrame +
x2form.h
+ 1 +
+
+ + + + + 8 + + + 8 + + + true + + + true + + + true + + +
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui new file mode 100644 index 0000000..4549918 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui @@ -0,0 +1,716 @@ + + + X2Dome + + + + 0 + 0 + 418 + 752 + + + + + 418 + 752 + + + + + 418 + 752 + + + + Dome Shutter/Roof settings + + + + + + + 0 + 0 + + + + + 9999 + 9999 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 160 + 672 + 213 + 40 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Cancel + + + + + + + OK + + + false + + + true + + + true + + + + + + + + + 16 + 240 + 360 + 112 + + + + Limit Faults + + + + + 16 + 24 + 320 + 24 + + + + Upper shutter limit fult checking enabled + + + + + + 16 + 48 + 320 + 24 + + + + Lower shutter limit fult checking enabled + + + + + + 16 + 72 + 128 + 24 + + + + Clear limit fault + + + + + + + 16 + 32 + 360 + 200 + + + + Sequencing + + + + + 16 + 32 + 192 + 18 + + + + Single Shutter (upper only) + + + + + + 24 + 64 + 72 + 16 + + + + Open First : + + + + + + 112 + 56 + 104 + 26 + + + + + Upper + + + + + Lower + + + + + + + 24 + 96 + 72 + 16 + + + + Close First : + + + + + + 112 + 88 + 104 + 26 + + + + + Upper + + + + + Lower + + + + + + true + + + + 16 + 120 + 256 + 24 + + + + Inhibit simultaneous shutter motion + + + + + + 16 + 168 + 184 + 24 + + + + Home with shutter closure + + + + + + 16 + 144 + 208 + 24 + + + + Shutter operate only at home + + + + + + + 16 + 16 + 48 + 13 + + + + Model : + + + + + + 72 + 16 + 136 + 13 + + + + The Model + + + + + + 16 + 360 + 360 + 192 + + + + Shutter angle calibration + + + + + 176 + 24 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 180 + + + 90 + + + + + + 16 + 24 + 152 + 24 + + + + Shutter1 opened angle : + + + + + + 16 + 56 + 144 + 24 + + + + Shutter1 closed angle : + + + + + + 16 + 88 + 152 + 24 + + + + Shutter2 opened angle : + + + + + + 16 + 120 + 152 + 24 + + + + Shutter2 closed angle : + + + + + + 176 + 56 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 180 + + + + + + 176 + 88 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 180 + + + 90 + + + + + + 176 + 120 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 180 + + + + + + 248 + 24 + 32 + 24 + + + + ADC + + + + + + 248 + 56 + 32 + 24 + + + + ADC + + + + + + 248 + 88 + 32 + 24 + + + + ADC + + + + + + 248 + 120 + 32 + 24 + + + + ADC + + + + + + 288 + 24 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4095 + + + 3000 + + + + + + 288 + 56 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4095 + + + 500 + + + + + + 288 + 88 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4095 + + + 3000 + + + + + + 288 + 120 + 64 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4095 + + + 500 + + + + + + 16 + 152 + 200 + 24 + + + + Shutter angle GoTo enabled + + + + + + + 16 + 560 + 360 + 96 + + + + Over Current Protection + + + + + 24 + 24 + 72 + 24 + + + + Shutter1 : + + + + + + 24 + 56 + 72 + 24 + + + + Shutter2 : + + + + + + 96 + 24 + 72 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + + + + 96 + 56 + 72 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + + + + 184 + 24 + 152 + 24 + + + + Amps (0.0 disable OCP) + + + + + + 184 + 56 + 152 + 24 + + + + Amps (0.0 disable OCP) + + + + + + + + + + X2Form + QFrame +
x2form.h
+ 1 +
+
+ + + + + 8 + + + 8 + + + true + + + true + + + true + + +
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui new file mode 100644 index 0000000..4ffe0a8 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui @@ -0,0 +1,362 @@ + + + X2Dome + + + + 0 + 0 + 360 + 408 + + + + + 360 + 408 + + + + + 360 + 408 + + + + Timeouts and Automatic Closure + + + + + + + 0 + 0 + + + + + 9999 + 9999 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 104 + 328 + 213 + 40 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Cancel + + + + + + + OK + + + false + + + true + + + true + + + + + + + + + 16 + 208 + 304 + 104 + + + + Automatic closure timeouts + + + + + 8 + 24 + 216 + 24 + + + + Close if no coms (10 - 3600s) : + + + + + + 216 + 24 + 72 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 10 + + + 3600 + + + + + + 8 + 48 + 216 + 24 + + + + Close on radio link timeout (20s) + + + + + + 8 + 72 + 280 + 24 + + + + Close on power fail (PowerGood removal) + + + + + + + 16 + 80 + 304 + 120 + + + + Shutter Timeouts + + + + + 8 + 24 + 208 + 24 + + + + Upper shutter timeout (10-500s) : + + + + + + 8 + 56 + 208 + 24 + + + + Lower shutter timeout (10-500s) : + + + + + + 8 + 88 + 208 + 24 + + + + Opposite dir timeout (4-240s) : + + + + + + 216 + 24 + 72 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 10 + + + 500 + + + + + + 216 + 56 + 72 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 10 + + + 500 + + + + + + 216 + 88 + 72 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4 + + + 420 + + + 4 + + + + + + + 16 + 8 + 304 + 64 + + + + Azimuth Timeouts + + + + + 8 + 32 + 232 + 24 + + + + Azimuth move timeout (10-1000s) : + + + + + + 240 + 32 + 56 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 10 + + + 1000 + + + 1000 + + + + + + + + + + X2Form + QFrame +
x2form.h
+ 1 +
+
+ + + + + 8 + + + 8 + + + true + + + true + + + true + + +
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall new file mode 100755 index 0000000..b7e6e48 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall @@ -0,0 +1,41 @@ +#!/bin/bash + +TheSkyX_Install=~/Library/Application\ Support/Software\ Bisque/TheSkyX\ Professional\ Edition/TheSkyXInstallPath.txt +echo "TheSkyX_Install = $TheSkyX_Install" + +if [ ! -f "$TheSkyX_Install" ]; then + echo TheSkyXInstallPath.txt not found + exit 1 +fi + + +TheSkyX_Path=$(<"$TheSkyX_Install") +echo "Installing to $TheSkyX_Path" + + +if [ ! -d "$TheSkyX_Path" ]; then + echo "Coudln't find TheSkyX application location" + exit 1 +fi + +cp "/tmp/DomePro_X2/domelist DomePro.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" +cp "/tmp/DomePro_X2/domepro.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "/tmp/DomePro_X2/domeprodiag.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "/tmp/DomePro_X2/domeshutter.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "/tmp/DomePro_X2/dometimeouts.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "/tmp/DomePro_X2/Astrometric.png" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "/tmp/DomePro_X2/libDomePro.dylib" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" + +app_owner=`/usr/bin/stat -n -f "%u" "$TheSkyX_Path" | xargs id -n -u` +if [ ! -z "$app_owner" ]; then + chown $app_owner "$TheSkyX_Path/Resources/Common/Miscellaneous Files/domelist DomePro.txt" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domepro.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeprodiag.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeshutter.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/dometimeouts.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/Astrometric.png" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.dylib" +fi +chmod 755 "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.dylib" +rm -rf /tmp/DomePro_X2 + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh new file mode 100755 index 0000000..488c8a5 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +mkdir -p ROOT/tmp/DomePro_X2/ +cp "../domepro.ui" ROOT/tmp/DomePro_X2/ +cp "../domeprodiag.ui" ROOT/tmp/DomePro_X2/ +cp "../domeshutter.ui" ROOT/tmp/DomePro_X2/ +cp "../dometimeouts.ui" ROOT/tmp/DomePro_X2/ +cp "../Astrometric.png" ROOT/tmp/DomePro_X2/ +cp "../domelist DomePro.txt" ROOT/tmp/DomePro_X2/ +cp "../build/Release/libDomePro.dylib" ROOT/tmp/DomePro_X2/ + +if [ ! -z "$installer_signature" ]; then +# signed package using env variable installer_signature +pkgbuild --root ROOT --identifier org.rti-zone.DomePro_X2 --sign "$installer_signature" --scripts Scripts --version 1.0 DomePro_X2.pkg +pkgutil --check-signature ./DomePro_X2.pkg +else +pkgbuild --root ROOT --identifier org.rti-zone.DomePro_X2 --scripts Scripts --version 1.0 DomePro_X2.pkg +fi + +rm -rf ROOT diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh new file mode 100755 index 0000000..77ff8ff --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh @@ -0,0 +1,46 @@ +#!/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 + +cp "./domelist DomePro.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" +cp "./domepro.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "./domeprodiag.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "./domeshutter.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "./dometimeouts.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "./Astrometric.png" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" +cp "./libDomePro.so" "$TheSkyX_Path/Resources/Common/PlugIns/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 DomePro.txt" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domepro.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeprodiag.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeshutter.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/dometimeouts.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/Astrometric.png" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.so" +fi +chmod 755 "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.so" + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh new file mode 100755 index 0000000..0f47251 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh @@ -0,0 +1,46 @@ +#!/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 + +cp "./domelist DomePro.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" +cp "./domepro.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" +cp "./domeprodiag.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" +cp "./domeshutter.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" +cp "./dometimeouts.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" +cp "./Astrometric.png" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" +cp "./libDomePro.so" "$TheSkyX_Path/Resources/Common/PlugInsARM32/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 DomePro.txt" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/domepro.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/domeprodiag.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/domeshutter.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/dometimeouts.ui" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/Astrometric.png" + chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/libDomePro.so" +fi +chmod 755 "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/libDomePro.so" + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln new file mode 100644 index 0000000..6a3ea14 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 14 for Windows Desktop +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDomePro", "libDomePro.vcxproj", "{8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x64.ActiveCfg = Debug|x64 + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x64.Build.0 = Debug|x64 + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x86.ActiveCfg = Debug|Win32 + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x86.Build.0 = Debug|Win32 + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x64.ActiveCfg = Release|x64 + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x64.Build.0 = Release|x64 + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x86.ActiveCfg = Release|Win32 + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj new file mode 100644 index 0000000..faba8fe --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj @@ -0,0 +1,165 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2} + Win32Proj + libDomePro + 8.1 + + + + DynamicLibrary + true + v140 + Unicode + + + DynamicLibrary + false + v140 + true + Unicode + + + DynamicLibrary + true + v140 + Unicode + + + DynamicLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS + true + MultiThreadedDebug + + + Windows + true + + + + + + + Level3 + Disabled + _DEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS + true + MultiThreadedDebug + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS + true + MultiThreaded + + + Windows + true + true + true + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS + true + MultiThreaded + + + Windows + true + true + true + + + + + + + + + + + + + + + + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters new file mode 100644 index 0000000..1314b4d --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters @@ -0,0 +1,39 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h new file mode 100644 index 0000000..52b68f1 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h @@ -0,0 +1,51 @@ +#ifndef _ADDFITSKETINTERFACE_H +#define _ADDFITSKETINTERFACE_H + +#define AddFITSKeyInterface_Name "com.bisque.TheSkyX.AddFITSKeyInterface/1.0" + +class BasicStringInterface; + +/*! +\brief The AddFITSKeyInterface allows camera drivers to add any number of additional FITS keys to the FITS header. + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +after every exposure is complete and if supported allows the camera to add additional information that will +be recorded in the FITS header of photos taken by TheSkyX. + +Each FITS header key must be of type integer, double, or string. TheSkyX will automatically format integer and double values +according the the FITS definition, but for string keys, it is left up to the camera driver to format correctly. +If this interface is supported, Cameras will first be queried for the number (count) of each type of FITS header key they wish to add, +after which TheSkyX will query the value for each key using a 0-based index for each type of key. + +Please note, TheSkyX automatically adds a number of FITS keys to each photo acquired and this interface does not +allow changing or overriding those keys and their values. + +TheSkyX build 8598 or later is required for this interface to work. Earlier TheSkyX builds simply ignore this interface and adding FITS key is not possible. + +See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. + +Speical note, build 8346 to 8597 this inteface was incorrectly called before the exposure started which may or may not matter depending upon the keywords being +added. + +\ingroup Interface +*/ + +class AddFITSKeyInterface +{ +public: + virtual int countOfIntegerFields(int &nCount) = 0; + virtual int valueForIntegerField(int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, int &nFieldValue) = 0; + + virtual int countOfDoubleFields (int &nCount) = 0; + virtual int valueForDoubleField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, double &dFieldValue) = 0; + + virtual int countOfStringFields (int &nCount) = 0; + virtual int valueForStringField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, BasicStringInterface &sFieldValue) = 0; + + virtual ~AddFITSKeyInterface(){} + +public: + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basiciniutilinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basiciniutilinterface.h new file mode 100644 index 0000000..01b9aea --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basicstringinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basicstringinterface.h new file mode 100644 index 0000000..2d23cfa --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h new file mode 100644 index 0000000..b893969 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h @@ -0,0 +1,69 @@ +#ifndef _CameraDependentSettingInterface_H +#define _CameraDependentSettingInterface_H + +#define CameraDependentSettingInterface_Name "com.bisque.TheSkyX.CameraDependentSettingInterface/1.0" + +/*! +\brief The CameraDependentSettingInterface allows camera drivers to supply one open-ended, additional argument to the standard + CameraDriverInterface::CCStartExposure function. This offers camera drivers great flexibility in what the setting + does along with the available options. + +\ingroup Interface + +This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. +However, many cameras support options which may be device-specific, or are otherwise unsupported by the default implementation +of acquiring an exposure. Examples might include RBI flush, or multiple data readout modes, specialized processing, etc. + +This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to +dictate all available values or options for this argument. TheSkyX will then allow the user to select between these options when +commanding an exposure with the user interface or through scripting. + +As an example, a company named "XYZ" might use this interface to support enabling/disabling RBI: +- CCGetExtendedSettingName would return "XYZ RBI mode" +- CCGetExtendedValueCount would return 2 +- CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. +- CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. + +If an older version of TheSkyX attaches to a driver implementing this interface, the standard CCStartExposure function +will be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with +nIndex == 0. + +When an exposure is acquired when this interface is supported, the current setting (i.e. whatever option is currently selected) +is written to the FITS header under the FITS key "CDS" with the FITS comment "Camera dependent setting". + +This interface was added in TheSky build 11525. + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class CameraDependentSettingInterface +{ +public: + + virtual ~CameraDependentSettingInterface(){} + +public: + //CameraDependentSettingInterface + + /*!TheSkyX calls this function to query the human-readable name of the camera dependent setting. The string sSettingName is displayed to user as + the label next to the camera dependent setting. The setting name should be relatively short and meaningful. Avoid using an overly generic name. It is strongly + recommended that the setting name be prepended with the company initials (or company name if short), see the detailed description for a specific example. + This way scripted access has a chance to uniquely identifiy the particular camera dependent setting for use in differing contexts. This setting name should + not arbitrarily change once published since it will act as a unique identifier for scripted use of this setting. Available options should not change either, unless added to.*/ + virtual int CCGetExtendedSettingName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, BasicStringInterface &sSettingName)=0; + + /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ + virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the human-readable name of each of the possible values or options the camera dependent argument may take. + The strings returned by this function will be presented to the user for selection. */ + virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; + + /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 + and the result of CCGetExtendedValueCount - 1 */ + virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, + const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h new file mode 100644 index 0000000..3b3f1bb --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h @@ -0,0 +1,201 @@ +#if !defined(_CameraDriverInterFace_H_) +#define _CameraDriverInterFace_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" +#include "enumcameraindex.h" +#else//TheSkyX X2 Plug In Build +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +typedef enum +{ +CI_NONE, +CI_PLUGIN=10000, +CI_PLUGIN_LAST=CI_PLUGIN+50000, +} enumCameraIndex; +#endif + +//TheSkyX's camera driver interface +#define CAMAPIVERSION 6 + +typedef enum {CCD_IMAGER, CCD_GUIDER} enumWhichCCD; +typedef enum {PT_UNKNOWN, PT_LIGHT, PT_BIAS, PT_DARK, PT_FLAT, PT_AUTODARK} enumPictureType; + +//This is an exact copy of SBIG's enum +typedef enum { zDEV_NONE, zDEV_LPT1, zDEV_LPT2, zDEV_LPT3, zDEV_USB=0x7F00, zDEV_ETH, zDEV_USB1, zDEV_USB2, zDEV_USB3, zDEV_USB4 } enumLPTPort; + +/*! +\brief The CameraDriverInterface allows an X2 implementor to a write X2 camera driver. + +\ingroup Driver + +See the X2Camera for a example. +*/ +class CameraDriverInterface : public DriverRootInterface, public HardwareInfoInterface, public DriverInfoInterface +{ +//Base class start copy here + +public: + inline CameraDriverInterface() + { + m_bLinked = false; + m_Camera = CI_NONE; + } + virtual ~CameraDriverInterface(){}; + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_CAMERA;} + virtual int queryAbstraction(const char* pszName, void** ppVal) =0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; + virtual double driverInfoVersion(void) const =0; + //@} + + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const =0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const =0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const =0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) =0; + virtual void deviceInfoModel(BasicStringInterface& str) =0; + //@} + +//CameraDriverInterface + + /*! ReadOutMode */ + enum ReadOutMode + { + rm_Line = 0, /**< The camera is a line readout device.*/ + rm_Image = 1, /**< The camera is a frame readout device.*/ + rm_FitsOnDisk = 2, /**< The camera provides the image as a FITS on disk.*/ + }; + +public://Properties + + /*!Software Bisque only.*/ + virtual enumCameraIndex cameraId() {return m_Camera;} + /*!Software Bisque only.*/ + virtual void setCameraId(enumCameraIndex Cam) {m_Camera = Cam;} + /*!Return true if the camrea is connected (linked)*/ + virtual bool isLinked() {return m_bLinked;} + /*!Software Bisque only.*/ + virtual void setLinked(const bool bYes) {m_bLinked = bYes;} + + /*! Return the version to this interface, X2 implementors do not modify.*/ + virtual int cameraDriverInterfaceVersion(void) {return CAMAPIVERSION;} + /*! Return how this camera reads out the image.*/ + virtual ReadOutMode readoutMode(void) {return CameraDriverInterface::rm_Line;} + /*! This is called to return the path to the corresponding FITS file, only when readoutMode() returns rm_FitsOnDisk. \sa readoutMode().*/ + virtual int pathTo_rm_FitsOnDisk(char* lpszPath, const int& nPathMaxSize){(void)lpszPath; (void)nPathMaxSize;return 0;} + +public://Methods + + /*! Display a device dependent settings dialog if necessary.*/ + virtual int CCSettings(const enumCameraIndex& Camera, const enumWhichCCD& CCD)=0; + + /*! Connect or establish a link to the camera.*/ + virtual int CCEstablishLink(enumLPTPort portLPT, const enumWhichCCD& CCD, enumCameraIndex DesiredCamera, enumCameraIndex& CameraFound, const int nDesiredCFW, int& nFoundCFW)=0; + /*! Disconnect from the camera.*/ + virtual int CCDisconnect(const bool bShutDownTemp)=0; + + /*! Return the physical size of the camera's detector.*/ + virtual int CCGetChipSize(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nXBin, const int& nYBin, const bool& bOffChipBinning, int& nW, int& nH, int& nReadOut)=0; + /*! Return the number of bin modes this camera supports.*/ + virtual int CCGetNumBins(const enumCameraIndex& Camera, const enumWhichCCD& CCD, int& nNumBins)=0; + /*! Return the size x and y bin size for each bin mode this camera supports.*/ + virtual int CCGetBinSizeFromIndex(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nIndex, long& nBincx, long& nBincy)=0; + + /*! Set the size of subframe in binned pixels.*/ + virtual int CCSetBinnedSubFrame(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nLeft, const int& nTop, const int& nRight, const int& nBottom)=0; + + /*! SBIG specific.*/ + virtual void CCMakeExposureState(int* pnState, enumCameraIndex Cam, int nXBin, int nYBin, int abg, bool bRapidReadout)=0; + + /*! Start the exposure.*/ + virtual int CCStartExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, const int& nABGState, const bool& bLeaveShutterAlone)=0; + /*! Called to know if the exposure is complete. \param pbComplete Set to true if the exposure is complete, otherwise set to false. \param pStatus is SBIG specific and can be ignored.*/ + virtual int CCIsExposureComplete(const enumCameraIndex& Cam, const enumWhichCCD CCD, bool* pbComplete, unsigned int* pStatus)=0; + /*! Called once the exposure is complete. Allows software implementation of downloading since for every CCStartExposure there is a corresponding CCEndExposure.*/ + virtual int CCEndExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const bool& bWasAborted, const bool& bLeaveShutterAlone)=0; + + /*!Return one line of the image. /sa readoutMode().*/ + virtual int CCReadoutLine(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& pixelStart, const int& pixelLength, const int& nReadoutMode, unsigned char* pMem)=0; + /*!Dump n lines to speed up download when a subframe is present.*/ + virtual int CCDumpLines(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nReadoutMode, const unsigned int& lines)=0; + + /*!Return the image. /sa readoutMode().*/ + virtual int CCReadoutImage(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nWidth, const int& nHeight, const int& nMemWidth, unsigned char* pMem)=0; + + /*!Turn off or on temperature regulation.*/ + virtual int CCRegulateTemp(const bool& bOn, const double& dTemp)=0; + /*!Return the temperature and corresponding status. Because camera hardware varies widely with respect to temperature control, this method is intended to accomodate + a wide range of levels of support, from the most basic, where only temperature regulation can be enabled/disabled to the most advanced that includes regulation enabled/disabled, + percent power, a discriptive string assocaited with power, and setpoint or any combination. + \param dCurTemp Return the current temperature or -100 if not supported. + \param dCurPower Return the power applied to the TE cooler or -100 if not supported. + \param lpszPower Return a string associated the power applied to the TE cooler or NULL if not supported. Example strings might be "Off", "Cooling To Setpoint", + "Correcting", "Raising to Ambient", "Ambient", "Max", "Min", "OK (At Setpoint)" + \param nMaxLen The maximum size the lpszPower string can be. + \param bCurEnabled Return 1 if temperature is being regulated or 0 if not. + \param dCurSetPoint Return the current temperature setpoint or -100 if not supported.*/ + virtual int CCQueryTemperature(double& dCurTemp, double& dCurPower, char* lpszPower, const int nMaxLen, bool& bCurEnabled, double& dCurSetPoint)=0; + /*!When possible, return a recommended temperature setpoint. \param dRecSP The recommended temperature setpoint or set to 100 if unable to recommend one.*/ + virtual int CCGetRecommendedSetpoint(double& dRecSP)=0; + /*!Turn the fan of off.*/ + virtual int CCSetFan(const bool& bOn)=0; + + /*!Turn on a camera relay or relays, in 1/100's of a second. Called when autoguiding.*/ + virtual int CCActivateRelays(const int& nXPlus, const int& nXMinus, const int& nYPlus, const int& nYMinus, const bool& bSynchronous, const bool& bAbort, const bool& bEndThread)=0; + + /*!SBIG specific for controlling internal filter wheels.*/ + virtual int CCPulseOut(unsigned int nPulse, bool bAdjust, const enumCameraIndex& Cam)=0; + + /*!Manually control the shutter. This method is only called in very specialized circumstances with specific hardware and or customized software and not called in general. You may implement this if the camera hardware is capable of successfully opening and closing the shutter outside or within the context of an exposure. */ + virtual int CCSetShutter(bool bOpen)=0; + /*!Deprecated. Called after download to resynchronize the PC clock to the real-time clock.*/ + virtual int CCUpdateClock(void)=0; + + /*!Software Bisque only.*/ + virtual int CCSetImageProps(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nReadOut, void* pImage)=0; + /*!Return the camera's full dynamic range, required for \@Focus and \@Focus2 to work.*/ + virtual int CCGetFullDynamicRange(const enumCameraIndex& Camera, const enumWhichCCD& CCD, unsigned long& dwDynRg)=0; + + /*!Called before download.*/ + virtual void CCBeforeDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; + /*!Called after download.*/ + virtual void CCAfterDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; + + //Implemenation below here +protected: + bool m_bLinked; + enumCameraIndex m_Camera; + +//Base class End Copy Above here +}; + + +//Added another export to CamAPI +//Not requried so its backward compatible +//Attempted to add a ptr func to it in CamApi.h, but got bad debug delete error +//(i.e. the CamAPI object header, was different from what CCDSoft allocated. +//This gives TheSkyX a way to talk to a plug in imp outside the context of the above object +//Mostly its for Photometric camera that has NFrames +#ifdef Q_WS_WIN +typedef __declspec(dllexport) int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); +#else +typedef int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); +#endif + +#endif //_CameraDriverInterFace_H_ diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/deviceinfointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/deviceinfointerface.h new file mode 100644 index 0000000..b91a87c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/domedriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/domedriverinterface.h new file mode 100644 index 0000000..830d1eb --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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 {}; + 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 = 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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverinfointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverinfointerface.h new file mode 100644 index 0000000..d6f2129 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverrootinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverrootinterface.h new file mode 100644 index 0000000..3478a7a --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h new file mode 100644 index 0000000..336611f --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h @@ -0,0 +1,29 @@ +#ifndef _DriverSlewsToParkPositionInterface_H +#define _DriverSlewsToParkPositionInterface_H + +#define DriverSlewsToParkPositionInterface_Name "com.bisque.TheSkyX.DriverSlewsToParkPositionInterface/1.0" + +/*! +\brief The DriverSlewsToParkPositionInterface prevents TheSky from slewing the mount to the park position when a Park command is issued so that the mount driver can take on this responsibility. + +\ingroup Interface + +This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. + +Merely implementing this interface means the mount driver slews to the park position and parks the mount as well as maintains the park position. No additional implementation needed. + +This overrides the default behavior where upon Park, TheSky is responsible for slewing a mount to the park position, parking and maintaining that position. + +This interface was added in TheSky build 11173, see TheSkyXFacadeForDriversInterface::build. + +\sa ParkInterface +*/ +class DriverSlewsToParkPositionInterface +{ +public: + + virtual ~DriverSlewsToParkPositionInterface(void){} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h new file mode 100644 index 0000000..1886578 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h @@ -0,0 +1,67 @@ +#ifndef _ExtendedCameraInterface_H +#define _ExtendedCameraInterface_H + +#define ExtendedCameraInterface_Name "com.bisque.TheSkyX.ExtendedCameraInterface/1.0" + +/*! +\brief + +This interface is deprecated. New development should instead use CameraDependentSettingInterface. +This interface was deprecated in TheSky build 11525. + +Existing drivers that support ExtendedCameraInterface will continure to work, but +developers are encouraged to migrate their code to use CameraDependentSettingInterface. The change +is minimal in that the intefaces are identical except there is one additional method, namely CCGetExtendedSettingName +to supply a name for the extended setting. +A driver may support both ExtendedCameraInterface and CameraDependentSettingInterface and the latter will +prevail if the build is equal to or greater than the build when ExtendedCameraInterface was deprecated. + + +The ExtendedCameraInterface allows camera drivers to supply one additional argument to the standard + CameraDriverInterface::CCStartExposure function. + +\ingroup Interface + +This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. +However, many cameras support options which may be device-specific, or are otherwise unsupported by this default implementation +(such as RBI flush, or multiple data readout modes). + +This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to +enumerate the potential values for this argument. TheSkyX will then allow the user to select between these values when +commanding an exposure. + +As an example, a simple implementation of this interface to support enabling/disabling RBI might: +* CCGetExtendedValueCount would return 2 +* CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. +* CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. + +If an older version of TheSkyX attaches to a driver implementing this function, the standard CCStartExposure function +should be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with +nIndex == 0. + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class ExtendedCameraInterface +{ +public: + + virtual ~ExtendedCameraInterface(){} + +public: + //ExtendedCameraInterface + /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ + virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the human-readable name of each of the possible values the extended argument may take. + The strings returned by this function will be presented to the user for selection. */ + virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; + + /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 + and the result of CCGetExtendedValueCount - 1 */ + virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, + const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h new file mode 100644 index 0000000..5dc07ec --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h @@ -0,0 +1,75 @@ +#ifndef _FilterWheelDriverInterface_H +#define _FilterWheelDriverInterface_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" +#include "imagingsystem/hardware/interfaces/licensed/filterwheelmovetointerface.h" +#else +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#include "../../licensedinterfaces/filterwheelmovetointerface.h" +#endif + +/*! +\brief The FilterWheelDriverInterface allows an X2 implementor to a write X2 filter wheel driver. + +\ingroup Driver + +See the X2FilterWheel for an example. +*/ +class FilterWheelDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FilterWheelMoveToInterface +{ +public: + virtual ~FilterWheelDriverInterface(){} + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FILTERWHEEL;} + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const = 0; + virtual double driverInfoVersion(void) const = 0; + //@} + + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; + virtual void deviceInfoModel(BasicStringInterface& str) = 0; + //@} + + /*!\name LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) = 0; + virtual int terminateLink(void) = 0; + virtual bool isLinked(void) const = 0; + //@} + + /*!\name FilterWheelMoveToInterface Implementation + See FilterWheelMoveToInterface.*/ + //@{ + virtual int filterCount(int& nCount) = 0; + virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut) = 0; + virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; + virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; + virtual int endFilterWheelMoveTo(void) = 0; + virtual int abortFilterWheelMoveTo(void) = 0; + //@} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h new file mode 100644 index 0000000..6c841de --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h @@ -0,0 +1,81 @@ +#ifndef _FilterWheelMoveToInterface_H +#define _FilterWheelMoveToInterface_H + +#define FilterWheelMoveToInterface_Name "com.bisque.TheSkyX.FilterWheelMoveToInterface/1.0" + +class BasicStringInterface; + +/*! +\brief The FilterWheelMoveToInterface allows moving to a specific filter. + +\ingroup Interface + +This interface is used by TheSkyX to move a filter wheel to a specific filter. +By nature this interface supports moving to a filter asyncrhonously, but can also +be used to move to a filter synchronously. + +*/ +class FilterWheelMoveToInterface +{ +public: + + virtual ~FilterWheelMoveToInterface(){} + +public: + + /*!Return the total number of available filters.*/ + virtual int filterCount(int& nCount) = 0; + + /*!Start the move to operation.*/ + virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; + /*!Sets bComplete to non zero when the move to is complete.*/ + virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; + /*!End the move to. This function is always called for every corresponding startFilterWheelMoveTo(), allowing software implementations of move to.*/ + virtual int endFilterWheelMoveTo(void) = 0; + /*!Abort any move to operation in progress.*/ + virtual int abortFilterWheelMoveTo(void) = 0; + + /*!Return a default name of the filter associated with nIndex (in the range 0 to nCount-1 returned by filterCount(nCount)). + This is optional and gives X2 drivers a way to provide a default filter name if so desired. The default implemenation does nothing, + in which case TheSky will provide a default name for each filter. TheSkyX provides a means for users to edit filter names as well.*/ + virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut){(void)nIndex; return 0;}; + + /*! \page embeddeddevices Embedded Devices + + In an effort to lessen the burden in developing device drivers for TheSkyX, X2 specifically addresses the concept of an embedded device. + The X2 architecture by default keeps in line with object oriented programming techniques which strive to keep objects independent of one another, + for example a camera and a filter wheel are independent. This is fine when physically the devices are separate, say from two manufacturers and + they communicate on two different ports and they are independent. In practice, many cameras have a built in filter wheel, + and both camera and filter wheel communicate over the same port and a (plug in) driver model that treats them independently can place a burden + on the developer to solve how to get the two independent drivers hosted in two shared libraries (dlls) to communicate over the same port. + + TheSkyX has the means to allow a camera to have an embedded filter wheel (a mount having an embedded focuser might be next + but TheSkyX already has native drivers for most popular mounts with embedded focusers). + + The following are required for a camera to have a embedded filter wheel from TheSkyX's perspective: + + -# 1) The x2 camera driver must implement the FilterWheelMoveToInterface. + -# 2) The hardwarelist.txt for the filter wheel must have its "MapsTo" field set to "Camera's Filter Wheel". + + With this combination, TheSkyX will simply delegate the filter wheel calls to the camera's implementation of the FilterWheelMoveToInterface, + thus "easily" allowing a camera driver to be created that has an embedded filter wheel while at the same time not duplicating interfaces to address + an independent filter wheel vs. an dependent (embedded) filter wheel. + + Also see MultiConnectionDeviceInterface. + */ + + + /*!The default implementation of this function does nothing which is correct for most filter wheels. Only consider this function if you are + implementing a camera's embedded filter wheel. + + If a CameraDriverInterface implements the FilterWheelMoveToInterface (for an embedded filter wheel), TheSkyX calls embeddedFilterWheelInit + passing along the name of the filter wheel selection just prior to establishLink for the camera. + This serves to provide the camera sufficient information to be prepared for filter wheel control. + X2 implementors can give many names to an embedded filter wheel(s) through their hardwarelist.txt, + in case that differentiation helps in implementation or there are n filter wheel models to choose from. + For more information, see the \ref embeddeddevices page.*/ + virtual void embeddedFilterWheelInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h new file mode 100644 index 0000000..e7280b7 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h @@ -0,0 +1,63 @@ +#ifndef _FocuserGotoInterface2_H +#define _FocuserGotoInterface2_H + +#ifdef THESKYX_FOLDER_TREE +#include "components/basicstring/basicstringinterface.h" +#else +#include "../../licensedinterfaces/basicstringinterface.h" +#endif + +#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" + +/*! +\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. + +\ingroup Interface + +The nature of a focuser is that it moves relative from where it is, in(-) and out(+). +This justifies why startFocGoto() is relative rather than absolute. An absolute goto can +be accomplished by the more primitive, indigenous startFocGoto. + +The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases +startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers +can essentially "fake" the the asynchronousness. + +*/ + +class FocuserGotoInterface2 +{ +public: + + virtual ~FocuserGotoInterface2(){} + +public: + + /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ + virtual int focPosition(int& nPosition) =0; + /*! Return the focusers minimum limit.*/ + virtual int focMinimumLimit(int& nMinLimit) =0; + /*! Return the focusers maximum limit.*/ + virtual int focMaximumLimit(int& nMaxLimit) =0; + /*! Abort an operation in progress.*/ + virtual int focAbort() =0; + + /*! Initiate the focus goto operation.*/ + virtual int startFocGoto(const int& nRelativeOffset) = 0; + /*! Return if the goto is complete.*/ + virtual int isCompleteFocGoto(bool& bComplete) const = 0; + /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ + virtual int endFocGoto(void) = 0; + + /*! Return the number (count) of avaiable focuser gotos.*/ + virtual int amountCountFocGoto(void) const = 0; + /*! Return a string along with the amount or size of the corresponding focuser goto.*/ + virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; + /*! Return the current index of focuser goto selection. */ + virtual int amountIndexFocGoto(void) =0; + + /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ + virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h new file mode 100644 index 0000000..8d71e62 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h @@ -0,0 +1,32 @@ +#ifndef _FocuserTemperatureInterface_H +#define _FocuserTemperatureInterface_H + +#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" + +/*! +\brief The FocuserTemperatureInterface allows focusers to report their current temperature. + +\ingroup Interface + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class FocuserTemperatureInterface +{ +public: + + virtual ~FocuserTemperatureInterface(){} + +public: + //FocuserTemperatureInterface + /*!TheSkyX calls this fuunction to return the focuser's current temperature. + The value should be reported in degrees celsius. For drivers that support multiple focusers + where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or + setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ + virtual int focTemperature(double &dTemperature)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h new file mode 100644 index 0000000..dd78ffa --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h @@ -0,0 +1,82 @@ +#ifndef _FocuserDriverInterface_H +#define _FocuserDriverInterface_H + +#ifdef THESKYX_FOLDER_TREE +#include "imagingsystem/hardware/interfaces/licensed/driverrootinterface.h" +#include "imagingsystem/hardware/interfaces/licensed/deviceinfointerface.h" +#include "imagingsystem/hardware/interfaces/licensed/driverinfointerface.h" +#include "imagingsystem/hardware/interfaces/licensed/linkinterface.h" +#include "imagingsystem/hardware/interfaces/licensed/focuser/focusergotointerface2.h" +#include "sberror.h" +#else +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/focuser/focusergotointerface2.h" +#endif + +/*! +\brief The FocuserDriverInterface allows an X2 implementor to a write X2 focuser driver. + +\ingroup Driver + +See the X2Focuser for an example. +*/ +class FocuserDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FocuserGotoInterface2 +{ +public: + virtual ~FocuserDriverInterface(){} + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FOCUSER;} + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const {}; + virtual double driverInfoVersion(void) const {return 0.0;} + //@} + + /*!\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 LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) = 0; + virtual int terminateLink(void) = 0; + virtual bool isLinked(void) const = 0; + //@} + + /*!\name FocuserGotoInterface2 Implementation + See FocuserGotoInterface2.*/ + virtual int focPosition(int& nPosition) =0; + virtual int focMinimumLimit(int& nMinLimit) =0; + virtual int focMaximumLimit(int& nMaxLimit) =0; + virtual int focAbort() =0; + + virtual int startFocGoto(const int& nRelativeOffset) = 0; + virtual int isCompleteFocGoto(bool& bComplete) const = 0; + virtual int endFocGoto(void) = 0; + + virtual int amountCountFocGoto(void) const = 0; + virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; + virtual int amountIndexFocGoto(void)=0; + //@} + + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h new file mode 100644 index 0000000..e7280b7 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h @@ -0,0 +1,63 @@ +#ifndef _FocuserGotoInterface2_H +#define _FocuserGotoInterface2_H + +#ifdef THESKYX_FOLDER_TREE +#include "components/basicstring/basicstringinterface.h" +#else +#include "../../licensedinterfaces/basicstringinterface.h" +#endif + +#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" + +/*! +\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. + +\ingroup Interface + +The nature of a focuser is that it moves relative from where it is, in(-) and out(+). +This justifies why startFocGoto() is relative rather than absolute. An absolute goto can +be accomplished by the more primitive, indigenous startFocGoto. + +The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases +startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers +can essentially "fake" the the asynchronousness. + +*/ + +class FocuserGotoInterface2 +{ +public: + + virtual ~FocuserGotoInterface2(){} + +public: + + /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ + virtual int focPosition(int& nPosition) =0; + /*! Return the focusers minimum limit.*/ + virtual int focMinimumLimit(int& nMinLimit) =0; + /*! Return the focusers maximum limit.*/ + virtual int focMaximumLimit(int& nMaxLimit) =0; + /*! Abort an operation in progress.*/ + virtual int focAbort() =0; + + /*! Initiate the focus goto operation.*/ + virtual int startFocGoto(const int& nRelativeOffset) = 0; + /*! Return if the goto is complete.*/ + virtual int isCompleteFocGoto(bool& bComplete) const = 0; + /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ + virtual int endFocGoto(void) = 0; + + /*! Return the number (count) of avaiable focuser gotos.*/ + virtual int amountCountFocGoto(void) const = 0; + /*! Return a string along with the amount or size of the corresponding focuser goto.*/ + virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; + /*! Return the current index of focuser goto selection. */ + virtual int amountIndexFocGoto(void) =0; + + /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ + virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h new file mode 100644 index 0000000..8d71e62 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h @@ -0,0 +1,32 @@ +#ifndef _FocuserTemperatureInterface_H +#define _FocuserTemperatureInterface_H + +#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" + +/*! +\brief The FocuserTemperatureInterface allows focusers to report their current temperature. + +\ingroup Interface + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class FocuserTemperatureInterface +{ +public: + + virtual ~FocuserTemperatureInterface(){} + +public: + //FocuserTemperatureInterface + /*!TheSkyX calls this fuunction to return the focuser's current temperature. + The value should be reported in degrees celsius. For drivers that support multiple focusers + where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or + setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ + virtual int focTemperature(double &dTemperature)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h new file mode 100644 index 0000000..457dd4c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h @@ -0,0 +1,41 @@ +#ifndef _GPSInterface_H +#define _GPSInterface_H + +#define GPSInterface_Name "com.bisque.TheSkyX.GPSInterface/1.0" + +/*! +\brief The GPSInterface allows communcation with a GPS device. + +\ingroup Interface + +This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. +In the future, other devices may be queried for implementation of this interface if and when GPS services ever exist on these devices. +*/ + +class GPSInterface +{ +public: + + virtual ~GPSInterface(){} + +public: + //GPSInterface + /*!Return true if the GPS exists and is present.*/ + virtual bool gpsExists(void)=0; + /*!Return true if the GPS is connected (linked).*/ + virtual int isGPSLinked(bool&)=0; + /*!Return the longitude in degrees.*/ + virtual int gpsLongitude( double& dLong )=0; + /*!Return the latitude in degrees.*/ + virtual int gpsLatitude( double& dLat )=0; + /*!Return the date.*/ + virtual int gpsDate( int& mm, int& dd )=0; + /*!Return the time.*/ + virtual int gpsTime( int& hh, int& min, double& s)=0; + /*!Return the year.*/ + virtual int gpsYear(int& yy)=0; + /*!Return the timezone.*/ + virtual int gpsTimeZone(int& tz)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h new file mode 100644 index 0000000..8253b68 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h @@ -0,0 +1,43 @@ +#ifndef _HardwareModelOverrideInterface_H +#define _HardwareModelOverrideInterface_H + +#define HardwareModelOverrideInterface_Name "com.bisque.TheSkyX.HardwareModelOverrideInterface/1.0" + +/*! +\brief The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than the +'Model' field found in the corresponding company specific 'hardwarelist.txt' file. + +\ingroup Interface + +This interface is optional. It is not recommended to support this interface unless it is absolutely necessary. +Software Bisque has found that customers expect to be able to explicitly choose their hardware model and if they +cannot, they will usually require technical support. +The recommended way x2 drivers list their hardware model(s) is to explicitly list each model in their company +specific "hardwarelist.txt" (see the "hardwarelist.txt" for details). The "hardwareList.txt" convention provides +a simple way to list n models that point to one or more drivers without requiring any hardware i/o calls. + +The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than what is listed +in the company specific hardware list. Examples of implementing this interface may include cases where listing all +possible models isn't desirable or if the x2 driver is consuming another entire driver model where the +actual model of hardware is purposefully hidden and if and only if the real model is known after connection. + +TheSkyX build 6655 or later is required for this optional interface to work. Earlier builds simply ignore it. + +See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. + +*/ + +class HardwareModelOverrideInterface +{ +public: + + virtual ~HardwareModelOverrideInterface(){} + +public: + //HardwareModelOverrideInterface + /*!Return a model name.*/ + virtual void hardwareModelOverride(BasicStringInterface& str)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/linkinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/linkinterface.h new file mode 100644 index 0000000..29bcb41 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/loggerinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/loggerinterface.h new file mode 100644 index 0000000..08b747c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h new file mode 100644 index 0000000..4018260 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h @@ -0,0 +1,37 @@ +#ifndef _ModalSettingsDialogInterface_H +#define _ModalSettingsDialogInterface_H + +#define ModalSettingsDialogInterface_Name "com.bisque.TheSkyX.ModalSettingsDialogInterface/1.0" + +/*! +\brief The ModalSettingsDialogInterface allows X2 implementors to display a customized settings user interface. + +\ingroup Interface + +X2 implementors can implement this interface to have TheSky display their own, modal, settings user interface. + +Warning, if this interface is implemented without a using X2GUIInterace, the resulting X2 driver will +require either some kind of cross platform windowing library or windowing code native to each operating system. +Instead, X2 implementors are encouraged to use the X2GUIInterace in their implementation of this interface +(see the X2Camera for a complete example) to keep their driver more maintainable and portable across operating systems +and to simplify their driver distribution. + +\sa SerialPortParams2Interface +*/ + +class ModalSettingsDialogInterface +{ +public: + + virtual ~ModalSettingsDialogInterface(){} + +public: + //ModalSettingsDialogInterface + /*! Initialize the modal settings dialog.*/ + virtual int initModalSettingsDialog(void) = 0; + /*! Execute and display the modal settings dialog.*/ + virtual int execModalSettingsDialog(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h new file mode 100644 index 0000000..626d209 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h @@ -0,0 +1,195 @@ +#ifndef _AsymmetricalEquatorialInterface_H +#define _AsymmetricalEquatorialInterface_H + +#include "mounttypeinterface.h" + +#define AsymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.AsymmetricalEquatorialInterface/1.0" + +/*!\defgroup Tool Device Driver Tool Kit*/ +/*!\defgroup Driver Driver Interfaces */ +/*!\defgroup Interface Optional Interfaces*/ +/*!\defgroup Example Example Drivers*/ +/*!\defgroup GUI Graphical User Interface (GUI)*/ + +/*! \page x2howto How to Write a TheSkyX Driver + + For illustration purposes, the following steps are for creation of a camera driver, but the same steps are involved in making any X2 driver. + + The X2Camera example source code provides a pattern to follow to create a TheSkyX camera driver. + + -# Obtain TheSkyX version 10.1.9 or later. + -# Tell TheSkyX A) how to display your camera to the user for selection and B) the name of the file that is your plug in binary by making your own company specific list of camera hardware. + -# Make a copy of "cameralist.txt" distributed by TheSkyX and name it "cameralist My Company.txt" where 'My Company' is your company name. The files goes in the same folder as cameralist.txt. + -# Edit "cameralist My Company.txt" remove all lines except one and by following the existing format, enter your specific camera information and the name of your plug in binary is "My Company Plug In File Name", for example: + -# "2|My Company|My Company Hardware Model|Comment| |My Company Plug In File Name|x2 developer string||||" + -# See the header of the file "hardwarelist.txt" distributed by TheSkyX for more details on this file format. + -# Compile the X2Camera sample unmodified, and place the binary into the TheSkyX/Resources/Common/PlugIns/CameraPlugIns folder. Start TheSkyX, go to Telescope, Setup and in the Imaging System Setup tree select Cameras, select the X2Camera and choose Connect. The X2 plug in dll CCEstablishLink will be called. + -# Implement the X2Camera with device dependent io calls. See the X2Camera source for more details on function calls. Use conditional compilation for OS specific io calls or branch in main.cpp with two entirely different X2Camera implementations depending upon OS. + +*/ + +/*! \page x2driverinstall Installing Your X2 Driver + + The x2 developer should provide a means to install/update their driver independent of TheSkyX. For cross platform drivers, there is the need for a Windows/Mac installer. + Unfortunately, we are not aware of any good, free, cross platform installers (Installshield and bitrock are expensive). On Windows consider the MSI or nullsoft installer. + + At a minimum, your own x2 installer will need to distribute two files, your own "hardwarelist .txt" with your list of hardware and the corresponding plug in binary. + Any other libraries your binary requires also need distributed. Please strive to minimize dependencies and static link libraries whenever possible. + + With the above being said, a vision Software Bisque is for TheSkyX to come with drivers (x2 or native) for the most popular hardware and for everything to work "out of the box." + IOW, install TheSkyX, and immediately control your dome, mount, camera, autoguider, filter wheel, focuser, rotator, etc, on either Windows and Mac. This is another primary reason we've + architected x2 the way we did, to keep the x2 driver footprint small, efficient and with as few as possible dependencies. If you have confidence in your x2 driver + and are willing to stand behind it, TheSkyX's installer would love to include it, please contact Software Bisque to discuss. + + \section whereistheskyx Where Is TheSkyX Installed? + + There are many ways to find out where TheSkyX is installed. TheSkyX has the following convention to hopefully make it easier to write an installer and works on both Mac and or Windows... + + Conventionally, TheSkyX 10.1.11 (build 4630 and later) provides a way for third parties easily find out where TheSkyX is installed. + The file TheSkyXInstallPath.txt holds the path to where TheSkyX is installed. TheSkyXInstallPath.txt file is found in the folder... + + on Windows: /Software Bisque/TheSkyX Professional Edition + + on Mac: ~/Library/Application Support/Software Bisque/TheSkyX Professional Edition + + (For installations targeting TheSkyX Serious Astronomer Edition, replace the "TheSkyX Professional Edition" with "TheSkyX Serious Astronomer Edition" in the folder paths above.) + + Notes: + - TheSkyX has to be run at least once before TheSkyXInstallPath.txt exists. + - This convention is purposfully not dependent upon the Windows registry. + - TheSkyXInstallPath.txt is updated each time TheSkyX runs, so this convention still allows moving TheSkyX from one hard driver or folder to another. (Installsheild's HKLM\~\App\TheSkyX.exe registry convention is only written on install.) + + Here is a Windows script for determining the folder: + + Set WshShell = Wscript.CreateObject("Wscript.Shell")
+ path=WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal")
+ MsgBox path
+ +*/ + +/*! \page x2changelog Change Log + + - 1.01 - Changed x2mount example to use TheSkyXFacadeForDriversInterface instead of deprecated TheSkyXFacadeForMountsInterface (interface identical). + - 1.02 - Added Mac make files for X2 examples. + - 1.03 - The ModalSettingsDialogInterface and SerialPortParams2Interface are no longer mutually exclusive. + - 1.04 - SerXInterface::open allows setting data bits. + - 1.05 - Filter wheel support, see FilterWheelDriverInterface. + - 1.06 - Documented \ref embeddeddevices. + - 1.07 - Updated \ref x2driverinstall. + - 1.08 - Made all x2 examples explicitly delete device driver tools (x2dome, x2filterwheel, x2mount, x2rotator did not). Published drivers should eventually follow suite to prevent a small memory leak when choosing different hardware. + - 1.09 - Updated LoggerInterface documentation. + - 1.10 - Documented and added X2Focuser example. + - 1.11 - TrackingRatesInterface documentation update. + - 1.13 - Updated documentation to use version 2 of the hardwarelist.txt (TheSkyX is backward compatible with version 1). + - 1.14 - TrackingRatesInterface documentation update. + - 1.15 - Made documentation for CameraDriverInterface::CCQueryTemperature clearer. + - 1.16 - Added HardwareModelOverrideInterface + - 1.17 - Minor documentation update. + - 1.18 - Added MultiConnectionDeviceInterface, PreExposureTaskInterface for cameras. + - 1.19 - Refresh. + - 1.20 - Added DriverSlewsToParkPositionInterface. + - 1.21 - Added CameraDependentSettingInterface, deprecated ExtendedCameraInterface. + +*/ + +/*! \page x2SharingASerialPort Sharing a Serial Port + Sharing a serial port + + See MultiConnectionDeviceInterface. +*/ + +/*! +\mainpage +

The X2 Standard

+ +TheSkyX's Cross-Platform, Plug In, Device Driver Architecture
+ +X2 Features + + +- Cross-platform (Windows/Mac/Linux) +- Based upon C++ standard. Minimum dependencies for easy portability/maintainability across operating systems. +- Smallest possible driver footprint. Only code specific to the hardware is in the driver, helpful cross platform interfaces are supplied (see \ref Tool). +- Qt is NOT required. Allows third parties to develop drivers independent of any cross-platform library. +- Suitable architecture for hardware manufacturers to rely upon for their native, device driver development. +- Consumable from most every programming language (thin operating system specific callable layering required). +- Architected upon the basic principles of object oriented programming namely encapsulation, polymorphism, and inheritance. + - Inheritance is used carefully where an interface (a C++ class with one or more pure virtual functions) purposefully hides implementation from caller (TheSkyX) minimizing dependencies while focusing the interface on one task. + - Keeps client (TheSkyX) code more managable. +- Modular in terms of levels of support. + - Can handle devices of a given kind with a broad range of capabilities without being plagued with a "CanXXX" for every property/method. + - Basic or "essence" support isn't plagued/complicated by "no op" stubs that must be re-implemented for devices that don't have such a capability. + - Flexible for adding a new capability not found in any other device in kind. Only the device with the new feature needs recompiled not all devices in kind. + - All other devices don't have to be brought up to the same level of support. + - Clients (TheSkyX) wanting to leverage new capability must of course be updated (recompiled) to take advantage of new capability. +- Easy to implement features in devices not up to superset. Clients (TheSkyX) compatible with superset automatically leverage new capability. +- Shows/provides a way (means) to evolve. +- Not a native "discovery" methodology (but discovery standard could be accommodated). +- Supports control of an open-ended number of devices (coming to TheSkyX) along with their persistence . + +Introduction + +One of the main goals of the X2 standard is to make it possible and easy for third parties to write and maintain their own hardware drivers compatible with TheSkyX +on all operating systems it supports. In addition, the X2 standard is by nature extensible, that is, it can grow at the optional, interface level without +all drivers or clients needing to be simultaneously brought up to the same level or even recompiled for that matter. + +\ref x2howto + +\ref x2driverinstall + +\ref x2changelog +*/ + +/*! +\brief The AsymmetricalEquatorialInterface for equtorial mounts. + +\ingroup Interface + +If a X2 mount driver implements this interface, the mount is an asymmetrical equtorial mount (e.g. GEM or cross-axis). +\sa SymmetricalEquatorialInterface +*/ + +class AsymmetricalEquatorialInterface +{ +public: + + virtual ~AsymmetricalEquatorialInterface(){} + + /*! + The default implementation returns the appropriate type of mount. + */ + MountTypeInterface::Type mountType(){return MountTypeInterface::Asymmetrical_Equatorial;} + + /*! + If knowsBeyondThePole() returns false, the mount + cannot distinguish unambiguosly if the OTA end of the declination axis + is either east or west of the pier. This somewhat restricts use of the + mount with TPoint - the mount must always have the OTA end of the declination + axis higher than the counterweights. In other words, the mount should not slew past the meridian. + */ + virtual bool knowsBeyondThePole() {return false;} + + /*! + If knowsBeyondThePole() returns true, + then beyondThePole() tells TheSkyX unambiguously + if the OTA end of the declination axis + is either east (0) or west of the pier (1). + Note, the return value must be correct even + for cases where the OTA end of the Dec axis + is lower than the counterweights. + */ + virtual int beyondThePole(bool& bYes){bYes=false; return 0;} + + /*! + Return the hour angle at which the mount automatically flips. + */ + virtual double flipHourAngle() {return 0;} + + /*! + Return the east and west hour angle limits. + */ + virtual int gemLimits(double& dHoursEast, double& dHoursWest){dHoursEast=dHoursWest=0;return 0;} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h new file mode 100644 index 0000000..aefd259 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h @@ -0,0 +1,31 @@ +#ifndef _LinkFromUIThreadInterface_H +#define _LinkFromUIThreadInterface_H + +#define LinkFromUIThreadInterface_Name "com.bisque.TheSkyX.LinkFromUIThreadInterface/1.0" + +/*! +\brief The LinkFromUIThreadInterface allows X2 implementors to cause TheSkyX to call establishLink from the user interface thread. + +\ingroup Interface + +X2 implementors can implement this interface to have TheSky call establishLink() from the user interface thread instead of from a background thread by default. +This can simplify drivers that use Microsoft COM on Windows in their implementation . +There are no member functions to this interface, simply implemenenting it is sufficient. + +This only applies to mount drivers. + +\sa LinkInterface +*/ + +class LinkFromUIThreadInterface +{ +public: + + virtual ~LinkFromUIThreadInterface(){} + +public: + + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h new file mode 100644 index 0000000..844f9ad --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h @@ -0,0 +1,44 @@ +#ifndef _MountTypeInterface_H +#define _MountTypeInterface_H + +#define MountTypeInterface_Name "com.bisque.TheSkyX.MountTypeInterface/1.0" + +/*! +\brief The MountTypeInterface covers all possible mount types that X2 drivers can implement + +\ingroup Tool + +A Naïveté, object oriented architecture might insist upon a property common to all mounts, +namely mountType() (and even worse yet, setMountType() where +implementation might be difficult to dyanmically change from one type of mount to another. +Such a property leads to confusion for all methods and properties related +to the specific type of mount, and which ones apply and don't apply, etc. +In the X2 architecture, the related methods and properties are contained +in optional interfaces that each mount can support as needed. +In other words, X2 doesn't riddle the global scope with n number of stubs +for methods/properties that don't apply. + +Below are the related, mutually exclusive, interfaces when implemented dictate +the type of mount. +\sa SymmetricalEquatorialInterface +\sa AsymmetricalEquatorialInterface +*/ + +class MountTypeInterface +{ +public: + + virtual ~MountTypeInterface(){} + + /*! Mount Type */ + enum Type + { + Symmetrical_Equatorial, /**< e.g. fork, horseshoe or yoke */ + Asymmetrical_Equatorial,/**< e.g. GEM or cross-axis */ + AltAz, /**< Not yet natively supported */ + Unknown, /**< Unknown mount type */ + }; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h new file mode 100644 index 0000000..0c2c914 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h @@ -0,0 +1,42 @@ +#ifndef _NeedsRefractionInterface_H +#define _NeedsRefractionInterface_H + + +#define NeedsRefractionInterface_Name "com.bisque.TheSkyX.NeedsRefractionInterface/1.0" + +/*! +\brief The NeedsRefractionInterface for mounts. + +\ingroup Interface + +Mounts that need refraction adjustments means coordinates returned by a +mount are tainted by refraction and the control system +does not do its own internal refraction adjustments. +For example, the Paramount and the Bisque TCS, return true +from this interface so TheSkyX can act accordingly. + +If a mount does its own, internal,refraction, this means +the coordinates returned from a mount have the effects of refraction removed. An example of such a mount is the Meade LX200. + +What this means under the hood, if an X2 mount object returns true to needsRefactionAdjustments() +1)Upon reading raDec, TheSkyX removes the effects of refraction so the "real" object's location is lower than where the mount is currently, physically pointing to in altitude through the atmosphere. +2)Before syncing a mount to a cataloged coordinate, (setting raDec) TheSkyX adds in the effects of refraction to the cataloged coordinate. This is opposite of #1 - in other words, on sync, intitialize the +control system so that when we read raDec and subsequently remove the effects of refraction, the coordinates are the "real" topocententric coordinates. + +Definintion - refraction is zero at zenith, max positive at horizon (a positive value) + +*/ +class NeedsRefractionInterface +{ +public: + + virtual ~NeedsRefractionInterface(){} + +public: + /*!Return true to have TheSkyX handle refraction, otherwise return false.*/ + virtual bool needsRefactionAdjustments(void) {return true;} + + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h new file mode 100644 index 0000000..bf1f15c --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h @@ -0,0 +1,48 @@ +#ifndef _OpenLoopMoveInterface_H +#define _OpenLoopMoveInterface_H + +#ifdef THESKYX_FOLDER_TREE +#include "imagingsystem/hardware/mountbridge/implementor/mountdriverinterface/mountdriverinterface.h"//For MoveDir +#else//TheSkyX X2 Plug In Build +#include "../mountdriverinterface.h"//For MoveDir +#endif + +//This might not be common - move to underneath MountBridge if specific to mounts + +#define OpenLoopMoveInterface_Name "com.bisque.TheSkyX.OpenLoopMoveInterface/1.0" + +/*! +\brief The OpenLoopMoveInterface allows a mount to move at a given rate for a open-ended amount of time. + +\ingroup Interface + +This interface is typically used by TheSkyX to allow a user-interface button to move the mount, where the mount +moves while the button is down, and the mount stops moving when the button is released. +*/ +class OpenLoopMoveInterface +{ +public: + + virtual ~OpenLoopMoveInterface(){} + +public: + /*!Start the open-loop move.*/ + virtual int startOpenLoopMove(const MountDriverInterface::MoveDir& Dir, const int& nRateIndex) = 0; + /*!End the open-loop move. This function is always called for every corresponding startOpenLoopMove(), allowing software implementations of the move.*/ + virtual int endOpenLoopMove(void) = 0; + + /*!Return true if the mount can be commanded to move in more than one perpendicular axis at the same time, otherwise return false.*/ + virtual bool allowDiagonalMoves() { return false;} + + //OpenLoopMove specifics + + /*! Return the number (count) of avaiable moves.*/ + virtual int rateCountOpenLoopMove(void) const = 0; + /*! Return a string along with the amount or size of the corresponding move.*/ + virtual int rateNameFromIndexOpenLoopMove(const int& nZeroBasedIndex, char* pszOut, const int& nOutMaxSize)=0; + /*! Return the current index of move selection. */ + virtual int rateIndexOpenLoopMove(void)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h new file mode 100644 index 0000000..68975a1 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h @@ -0,0 +1,29 @@ +#ifndef _SlewToInterface_H +#define _SlewToInterface_H + +#define SlewToInterface_Name "com.bisque.TheSkyX.SlewToInterface/1.0" + +/*! +\brief The SlewToInterface for mounts. + +\ingroup Interface + +If a X2 mount driver implements this interface, the mount is able to slew to a given RA, dec. +*/ +class SlewToInterface +{ +public: + + virtual ~SlewToInterface(){} + +public: + /*!Initiate the slew.*/ + virtual int startSlewTo(const double& dRa, const double& dDec) = 0; + /*!Called to monitor the slew process. \param bComplete Set to true if the slew is complete, otherwise return false.*/ + virtual int isCompleteSlewTo(bool& bComplete) const = 0; + /*!Called once the slew is complete. This is called once for every corresponding startSlewTo() allowing software implementations of gotos.*/ + virtual int endSlewTo(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h new file mode 100644 index 0000000..416957e --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h @@ -0,0 +1,28 @@ +#ifndef _SymmetricalEquatorialInterface_H +#define _SymmetricalEquatorialInterface_H + +#include "mounttypeinterface.h" + +#define SymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.SymmetricalEquatorialInterface/1.0" + +/*! +\brief The SymmetricalEquatorialInterface for equtorial mounts. + +\ingroup Interface + +This is the default mount type (i.e. an equatorial fork) no implementation is necessary. +\sa AsymmetricalEquatorialInterface +*/ + +class SymmetricalEquatorialInterface +{ +public: + + virtual ~SymmetricalEquatorialInterface(){} + + /*!The default implemtnation returns the appropriate type of mount.*/ + MountTypeInterface::Type mountType(){return MountTypeInterface::Symmetrical_Equatorial;} + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h new file mode 100644 index 0000000..77d1501 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h @@ -0,0 +1,27 @@ +#ifndef _SyncMountInterface_H +#define _SyncMountInterface_H + +#define SyncMountInterface_Name "com.bisque.TheSkyX.SyncMountInterface/1.0" + +/*! +\brief The SyncMountInterface for mounts. + +\ingroup Interface + +If a X2 mount driver implements this interface, the mount is able to "synced" and have +its internal RA and declination set to particular values. +*/ +class SyncMountInterface +{ +public: + + virtual ~SyncMountInterface(){} + +public: + /*!Set the mount internal RA and declination.*/ + virtual int syncMount(const double& ra, const double& dec) = 0; + /*!Always return true. If possible, return false when appropriate, if and only if the mount hardware has the ability to know if it has been synced or not.*/ + virtual bool isSynced() =0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h new file mode 100644 index 0000000..75b6907 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h @@ -0,0 +1,49 @@ +#ifndef _TrackingRatesInterface_H +#define _TrackingRatesInterface_H + +#define TrackingRatesInterface_Name "com.bisque.TheSkyX.TrackingRatesInterface/1.0" + +/*! +\brief The TrackingRatesInterface allows X2 mounts to support variable tracking rates. + +\ingroup Interface + +*/ +class TrackingRatesInterface +{ +public: + + virtual ~TrackingRatesInterface(){} + +public: + + /*!Set the tracking rates. + + By nature the TrackingRatesInterface is for mounts the can support variable tracking rates. There are mounts that only have two rates, sidereal rate and off. + A workaround to accomodate these mounts would be to respond only to those two particular cases of setTrackingRates (to see these cases, on the Telescope Tab, + Tools, Turn Sidereal Tracking On and Turn Tracking Off). Otherwise return ERR_COMMANDNOTSUPPORTED for rates that the mount isn't capable of, like + tracking a asteroid, comet, etc. */ + virtual int setTrackingRates( const bool& bTrackingOn, const bool& bIgnoreRates, const double& dRaRateArcSecPerSec, const double& dDecRateArcSecPerSec)=0; + + /*!Turn off tracking. Provided for convenience, merely calls setTrackingRates() function.*/ + virtual int trackingOff() + { + return setTrackingRates( false, true, 0.0, 0.0); + } + /*!Turn on sidereal tracking. Provided for convenience, merely calls setTrackingRates() function.*/ + virtual int siderealTrackingOn() + { + return setTrackingRates( true, true, 0.0, 0.0); + } + + /*!Return the current tracking rates. + + A special case for mounts that can set rates, but not read them... + So the TheSkyX's user interface can know this, set bTrackingOn=false and return both rates as -1000.0. + + Another special case convention, for mounts that can read rates, if bTrackingOn=false and the rates are 15.0410681 +- 0.00001 for ra + and 0 +- 0.00001 for dec, TheSkyX's mount status will say 'Tracking off'*/ + virtual int trackingRates( bool& bTrackingOn, double& dRaRateArcSecPerSec, double& dDecRateArcSecPerSec)=0; +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h new file mode 100644 index 0000000..e6910a4 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h @@ -0,0 +1,139 @@ +#if !defined(_MountDriverInterface_H_) +#define _MountDriverInterface_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" +#include "imagingsystem/hardware/interfaces/licensed/mount/needsrefractioninterface.h" +#else//TheSkyX Plug In Build +#include "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#include "../../licensedinterfaces/mount/needsrefractioninterface.h" +#endif + +/*! +\brief The MountDriverInterface allows an X2 implementor to a write X2 mount driver. + +\ingroup Driver + +See the X2Mount for an example. +*/ +class MountDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public NeedsRefractionInterface +{ +public: + /*! MotorState, Paramount only.*/ + enum MotorState + { + MKS_MOTOR_HOMING =(0x0100), + MKS_MOTOR_SERVO =(0x0200), + MKS_MOTOR_INDEXING =(0x0400), + MKS_MOTOR_SLEWING =(0x0800), + MKS_MOTOR_HOMED =(0x1000), + MKS_MOTOR_JOYSTICKING =(0x2000), + MKS_MOTOR_OFF =(0x4000), + MKS_MOTOR_MOVING = (MKS_MOTOR_HOMING | MKS_MOTOR_SLEWING | MKS_MOTOR_JOYSTICKING), + + }; + + /*!Axis, Parmamount only.*/ + enum Axis + { + AXIS_RA = 0, + AXIS_DEC = 1, + }; + + /*!Move direction.*/ + enum MoveDir + { + MD_NORTH = 0, + MD_SOUTH = 1, + MD_EAST = 2, + MD_WEST = 3, + }; + + /*!MoveRate, Parmamount only.*/ + enum MoveRate + { + MR_FLASH = -2, + MR_BASE = -1, + MR_0R5X = 0, + MR_1X = 1, + MR_2X = 2, + MR_4X = 3, + MR_8X = 4, + MR_16X = 5, + MR_32X = 6, + MR_64X = 7, + MR_128X = 8, + MR_256X = 9, + MR_SLEW = 10, + }; + +public: + virtual ~MountDriverInterface(){} + +public: + +// Operations +public: + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_MOUNT;} + 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; + virtual bool isEstablishLinkAbortable(void) const {return false;} + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; + virtual double driverInfoVersion(void) const = 0; + //@} + + // + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; + virtual void deviceInfoModel(BasicStringInterface& str) = 0; + //@} + + //NeedsRefractionInterface + //Don't forget, each mount implementation must return type cast in queryAbstraction + /*! Return true if the mount wants TheSkyX to handle refraction if and only if the mount itself does not internally handle refraction.*/ + virtual bool needsRefactionAdjustments(void) {return true;} + + /*! Return the mechanical or raw right ascension and declination coordinates of the mount. + \param dRawRA is the right ascension coordinate of the mount from 0 to 24. + \param dRawDec is the declination coordinate of the mount from -90 to +90. + \param bCached may be ignored. + \sa NeedsRefractionInterface for clarity on what is meant by "mechanical or raw" coordinates.*/ + virtual int raDec(double& dRawRA, double& dRawDec, const bool& bCached = false) = 0; + /*! Abort any operation currently in progress.*/ + virtual int abort(void) = 0; + +// Implementation +private: + + + +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h new file mode 100644 index 0000000..6310155 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h @@ -0,0 +1,128 @@ +#ifndef _MultiConnectionDeviceInterface_H +#define _MultiConnectionDeviceInterface_H + +#define MultiConnectionDeviceInterface_Name "com.bisque.TheSkyX.MultiConnectionDeviceInterface/1.0" + +class BasicStringInterface; + + +/*! +\brief This optional interface, MultiConnectionDeviceInterface, provides X2 implementors a way to make x2 drivers that support +the capacity to accept multiple connections simultaneously without error or conflict (such as multi-device hubs). + +All x2 hardware devices, except cameras, can be made to work with the MultiConnectionDeviceInterface. The MultiConnectionDeviceInterface is +fairly generic solution and allows the sharing of any kinds of interfaces. A common use of this interface is to share a serial port between x2 drivers, +in which case the SerXInterface and it's corresponding IO MutexInterface (namely m_pSerX and m_pIOMutex typically found in x2 examples) are shared +between x2 drivers. Sufficiently motivated and experienced developers should be able to use this to control any kind of shared multi-device interface between +the same kind of devices or even with different devices. + +Some concepts: +- All drivers contain a 'resource' of some kind that allows a connection to their device. + Every instance of the driver that's created should have a copy of this resource. +- The first driver to establish a connection will have their resource copy become active. + Subsequent instances of the driver will have inactive copies of the resource +- Drivers with inactive resources will have a reference to the 'active' resource singleton for device interaction. +- While any drivers are connected, the active reference shall not be closed nor destroyed. TheSkyX will ensure this + by directing the driver holding the active resource to 'trade' it with a driver instance that's remaining active + before the link is terminated. +- This interface leverages and is built on top of the standard LinkInterface which TheSkyX uses as a means to connect/disconnect from all x2 drivers. + +Note, this interface is in use in the field and works for the Optec Lynx Focuser (LynxPlugIn, example code snippets below) where two focusers, one for imager, one for autoguider, +share the same serial port, yet are implemented as two instances of the same dll as the imager focuser and the autoguider focuser in TheSkyX. + +Effectively this interface makes it possible for x2 drivers to share a pointer to a resource or resources between +x2 drivers. The LynxPlugIn shares the SerXInterface and MutexInterface but its not necessarily limited to those pointers nor +devices in kind (for example, a mount could share its usb connection with a focuser). + +Keep in mind that TheSkyX will interface with this driver across different threads, so take care that any calls into a connection resource +must be made thread-safe (usually by also sharing the IO MutexInterface as well). + +Implementing this interface should only be attempted after successfully creating x2 drivers that properly work when connecting to +the resource standalone without sharing. If the case where the driver is used stand alone doesn't function properly there is no possible way +a MultiConnectionDeviceInterface implementation is going to work. In fact, the stand alone case will always be the place to turn +when trouble shooting any problems with this interface. IOW, get the two or more x2 drivers to work stand alone without this interface, and +then a MultiConnectionDeviceInterface implementation will work identially except sharing the desired resource(s). When implementing +this interface for the case of sharing a serial port, basically the correct m_pSerX and m_pIOMutex are put inplace (almost) tranparently to +the x2 driver. + +For this interface to function, TheSkyX build 6812 or later released Thursday March 21, 2013 is required. Earlier builds simply ignore +this interface and sharing resoures is not possible. + +See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. + +\ingroup Interface + +*/ +class MultiConnectionDeviceInterface +{ +protected: + int m_nInstanceCount; + +public: + /*!Since drivers implementing this interface behave like "normal" (they don't share a resource) when m_nInstanceCount is 1, this default + constructor allows earlier builds of TSX to run these drivers even if the actual interface isn't implemented.*/ + MultiConnectionDeviceInterface() + { + m_nInstanceCount = 1; + } + + /*!Implementors should return a string identifier unique to this specific physical device or known connection sharing setup. + If multiple instances of the driver are in use, drivers that return identical identifiers will be treated as if they + represent connections to the same physical device. Drivers returning different identifier strings will + continue to be treated as separate pieces of hardware. + + Drivers also implementing SerXInterface will additionally be checked by TheSkyX to see if they share the same + serial port (or TCP/IP address and port combination) or not and act accordingly. + + Here is example code from the LynxPlugIn driver: + \snippet lynxplugin.cpp deviceIdentifier + + */ + virtual int deviceIdentifier(BasicStringInterface &sIdentifier) = 0; + + + /*! TheSkyX will call this function once immediately before LinkInterface::establishLink(), then again any time the number of + drivers connecting to the same physical device as this one changes. If this is the first driver connecting + to the device, nInstanceCount will be 1. No driver will ever see a '0' value. + + This function can be implemented in order to perform any additional initialization that may be necessary + when the first connection is established. + */ + virtual int setInstanceCount(const int &nInstanceCount) + { + m_nInstanceCount = nInstanceCount; + return 0; + } + + /*! Although some devices may support multiple connections, they may not support them in unlimited numbers. TheSkyX will + call this function before a connection attempt is made to allow the driver to determine if it will be able to successfully attach + to the shared resource. + + For example, a camera/filter wheel combination device may support one camera connection and one filter wheel + device simultaneously. If the peer array already contains both a camera and a filter wheel, bConnectionPossible should be set to false. + + Here is example code from the LynxPlugIn driver: + \snippet lynxplugin.cpp isConnectionPossible + */ + virtual int isConnectionPossible(const int &nPeerArraySize, MultiConnectionDeviceInterface **ppPeerArray, bool &bConnectionPossible) = 0; + + /*! + If the driver determines that a connection is possible, TheSkyX will call this function tell the driver which of its peers + holds the resource that should be used to connect. pPeer will be equal to the 'this' pointer for the first driver to connect. + + Here is example code from the LynxPlugIn driver: + \snippet lynxplugin.cpp useResource + */ + virtual int useResource(MultiConnectionDeviceInterface *pPeer) = 0; + + /*! + TheSkyX will call this function on the driver controlling the active resource immediately before the driver is disconnected. The + driver should 'swap' its (active) resource with the inactive one held by its peer. In this way, the active resource may remain + active without interruption when this instance's link is terminated. + Here is example code from the Lynx driver: + \snippet lynxplugin.cpp swapResource + */ + virtual int swapResource(MultiConnectionDeviceInterface *pPeer) = 0; +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mutexinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mutexinterface.h new file mode 100644 index 0000000..7b169e7 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h new file mode 100644 index 0000000..eb86743 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h @@ -0,0 +1,34 @@ +#ifndef _NoShutterInterface_H +#define _NoShutterInterface_H + +#define NoShutterInterface_Name "com.bisque.TheSkyX.NoShutterInterface/1.0" + +/*! +\brief The NoShutterInterface allows camera drivers to report to TheSkyX if a camera does not have a shutter, primarily for use in the acquisition of dark frames. + +\ingroup Interface + +This interface is optional. By default, TheSkyX assumes a camera has a shutter and if that is true this interface isn't important. The NoShutterInterface allows +camera drivers to report to TheSkyX if a camera does not have a shutter. Camera drivers implementing this interface and returning 'false' for bHasShutter when queried +for shutter will cause TheSkyX to prompt the user to manually cover their telescope for all dark frames. + +The NoShutterInterface can even return true for bHasShutter allowing for unified code for single x2 drivers that support multiple camera models, with and without shutters. + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class NoShutterInterface +{ +public: + + virtual ~NoShutterInterface(){} + +public: + //NoShutterInterface + /*!TheSkyX calls this function to query the driver reguarding the existance of its controlled camera's shutter.*/ + virtual int CCHasShutter(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, bool &bHasShutter)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h new file mode 100644 index 0000000..4e87d5e --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h @@ -0,0 +1,35 @@ +#ifndef _ParkInterface_H +#define _ParkInterface_H + +#define ParkInterface_Name "com.bisque.TheSkyX.ParkInterface/1.0" + +/*! +\brief The ParkInterface allows domes and mounts to be parked. + +\ingroup Interface + +This interface is optional. At this time TheSkyX only queries domes and mounts for implementation of this interface. +In the future, other devices may be queried for implementation of this interface if and when parking ever exists on these devices. + +\sa UnparkInterface +*/ +class ParkInterface +{ +public: + + virtual ~ParkInterface(){} + +public: + + /*!Return true if the device is parked.*/ + virtual bool isParked(void) {return false;} + /*!Initiate the park process.*/ + virtual int startPark(const double& dAz, const double& dAlt)= 0; + /*!Called to monitor the park process. \param bComplete Set to true if the park is complete, otherwise set to false.*/ + virtual int isCompletePark(bool& bComplete) const = 0; + /*!Called once the park is complete. This is called once for every corresponding startPark() allowing software implementations of park.*/ + virtual int endPark(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h new file mode 100644 index 0000000..1734791 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h @@ -0,0 +1,34 @@ +#ifndef _PixelSizeInterface_H +#define _PixelSizeInterface_H + +#define PixelSizeInterface_Name "com.bisque.TheSkyX.PixelSizeInterface/1.0" + +/*! +\brief The PixelSizeInterface allows camera drivers to provide the physical pixel size in microns. + +\ingroup Interface + +This interface is optional. TheSkyX queries cameras for implementation of this interface +and if supported will populate the FITS header with the returned pixel size. Don't forget to +respond accrodingly in queryAbstraction(). TheSkyX will only query for this inteferface +after successfully connecting to the camera with CCEstablishLInk(). + +Drivers should always return the size of the pixel in 1x1 binning and in microns. When +populating the FITS header, TheSkyX will adjust the size according to the bin mode +in effect. +*/ + +class PixelSizeInterface +{ +public: + + virtual ~PixelSizeInterface(){} + +public: + //PixelSizeInterface + /*!Return the physical pixel size in 1x1 binning and in microns.*/ + virtual int PixelSize1x1InMicrons(const enumCameraIndex& Camera, const enumWhichCCD& CCD, double& x, double& y)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h new file mode 100644 index 0000000..e46945f --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h @@ -0,0 +1,64 @@ +#ifndef _PreExposureTaskInterface_H +#define _PreExposureTaskInterface_H + +#define PreExposureTaskInterface_Name "com.bisque.TheSkyX.PreExposureTaskInterface/1.0" + +/*! +\brief The PreExposureTaskInterface gives cameras a way to inform TheSkyX when executing CameraDriverInterface::CCStartExposure +will take longer than dExposureDuration. + +\ingroup Interface + +This interface is optional. By default, when an exposure is triggered, TheSkyX will display a countdown showing when the +exposure duration set by the user has ellapsed. However, many cameras have additional functions (such as RBI, mirror lock, etc) +that can cause the process of taking an image to take substantially longer than the exposure itself. + +Implementing this interface provides camera driver producers a way to cause TheSkyX to display additional progress bars +before the actual 'exposure' progress bar. + +Note that TheSkyX will continue to rely on CCIsExposureComplete to determine when an exposure has actually finished, any times +reported by this interface will be used for display purposes only. Implementing this interface does NOT change the actual sequence +of events that take place during an exposure, but can provide useful feedback to the user. + +There are two types of preexposure task that this interface deals with independantly: +Type 1) Blocking tasks that must take place before CCStartExposure begins +Type 2) Nonblocking tasks that occur after CCStartExposure begins, but while CCIsExposureComplete is "false" + +Don't forget to respond accordingly in your queryAbstraction(). + +*/ + +class PreExposureTaskInterface +{ +public: + + virtual ~PreExposureTaskInterface(){} + +public: + //PreExposureTaskInterface + + /* These functions provide status text for Type (1) pre-exposure tasks that take place BEFORE CCStartExposure is called. */ + + /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ + virtual int CCGetBlockingPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ + virtual int CCGetBlockingPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; + + /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ + virtual int CCExecuteBlockingPreExposureTask(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex)=0; + + /* These functions provide status text for Type (2) pre-exposure tasks that take place AFTER CCStartExposure is called */ + + /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ + virtual int CCGetPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; + + /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ + virtual int CCGetPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, double &dDuration, BasicStringInterface &sName)=0; + + /*For cameras that also implement ExtendedCameraInterface, this function will be called to let the camera know which additional argument index will be used + Cameras without this interface may leave the provided default implementation as-is*/ + virtual int CCSetAdditionalArgInterface(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int &nIndex) { return 0 /*SB_OK*/; } +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h new file mode 100644 index 0000000..c957bd3 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h @@ -0,0 +1,80 @@ +#ifndef _RotatorDriverInterface_H +#define _RotatorDriverInterface_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 "../../licensedinterfaces/driverrootinterface.h" +#include "../../licensedinterfaces/linkinterface.h" +#include "../../licensedinterfaces/deviceinfointerface.h" +#include "../../licensedinterfaces/driverinfointerface.h" +#endif + +class BasicStringInterface; + +/*! +\brief The RotatorDriverInterface allows an X2 implementor to a write X2 rotator driver. + +\ingroup Driver + +See the X2Rotator for an example. +*/ +class RotatorDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface +{ +public: + virtual ~RotatorDriverInterface(){} + + /*!\name DriverRootInterface Implementation + See DriverRootInterface.*/ + //@{ + virtual DeviceType deviceType(void) {return DriverRootInterface::DT_ROTATOR;} + virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; + //@} + + /*!\name DriverInfoInterface Implementation + See DriverInfoInterface.*/ + //@{ + virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; + virtual double driverInfoVersion(void) const = 0; + //@} + + // + /*!\name HardwareInfoInterface Implementation + See HardwareInfoInterface.*/ + //@{ + virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; + virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; + virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; + virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; + virtual void deviceInfoModel(BasicStringInterface& str) = 0; + //@} + + /*!\name LinkInterface Implementation + See LinkInterface.*/ + //@{ + virtual int establishLink(void) = 0; + virtual int terminateLink(void) = 0; + virtual bool isLinked(void) const = 0; + virtual bool isEstablishLinkAbortable(void) const {return false;} + //@} + + /*!Return the position of the rotator.*/ + virtual int position(double& dPosition) = 0; + /*!Abort any operation in progress.*/ + virtual int abort(void) = 0; + + /*!Initiate the rotator goto.*/ + virtual int startRotatorGoto(const double& dTargetPosition) = 0; + /*!Called to moitor the goto process. \param bComplete Set to true if the goto is complete, otherwise set to false.*/ + virtual int isCompleteRotatorGoto(bool& bComplete) const = 0; + /*!Called after the goto process is complete. This is called once for every corresponding startRotatorGoto() allowing software implementations of gotos.*/ + virtual int endRotatorGoto(void) = 0; + + +}; + + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sberrorx.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sberrorx.h new file mode 100644 index 0000000..fb8ca69 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h new file mode 100644 index 0000000..24ab4b2 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h @@ -0,0 +1,84 @@ +#ifndef _SerialPortParams2Interface_H +#define _SerialPortParams2Interface_H + +#ifdef THESKYX_FOLDER_TREE +#include "../staticlibs/serx/serxinterface.h" +#include "components/basicstring/basicstringinterface.h" +#elif X2_FLAT_INCLUDES +#include "serxinterface.h" +#include "basicstringinterface.h" +#else +#include "serxinterface.h" +#include "basicstringinterface.h" +#endif + +#define SerialPortParams2Interface_Name "com.bisque.TheSkyX.SerialPortParams2Interface/1.0" + +/*! +\brief The SerialPortParams2Interface is a cross-platform interface to common serial port parameters. + +\ingroup Interface + +For serial devices, implementing this interface causes TheSkyX to display a general serial port +settings user interface for setting serial port parameters. +This does not encompass all serial port parameters for all operating systems, but does cover the +most common serial port settings applied to astronomical hardware. + +New to TheSkyX Version 10.1.10 (build 4443 and later) a "More Settings" button appears on TheSkyX's +general "Serial Port Settings" dialog if the underlying X2 driver also implements the ModalSettingsDialogInterface. +This allows X2 drivers to leverage TheSkyX's general "Serial Port Settings" dialog while also having +a custom user interface that is displayed when the "More Settings" button is pressed. +In prior TheSkyX builds, the ModalSettingsDialogInterface and SerialPortParams2Interface +where mutually exclusive but that is no longer the case and X2 implementor don't need to duplicate +the serial port settings in their custom user interface. +*/ + +class SerialPortParams2Interface +{ +public: + + virtual ~SerialPortParams2Interface(){} + +public: + /*!Return serial port name as a string.*/ + virtual void portName(BasicStringInterface& str) const = 0; + /*!Set the serial port name as a string.*/ + virtual void setPortName(const char* szPort) = 0; + + /*!Return the buad rate.*/ + virtual unsigned int baudRate() const = 0; + /*!Set the baud rate.*/ + virtual void setBaudRate(unsigned int) = 0; + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isBaudRateFixed() const = 0; + + /*!Return the parity.*/ + virtual SerXInterface::Parity parity() const = 0; + /*!Set the parity.*/ + virtual void setParity(const SerXInterface::Parity& parity)= 0; + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isParityFixed() const = 0;//Generic serial port ui will hide if fixed + + /*!Return the number of data bits.*/ + virtual int dataBits() const {return 8;} + /*!Set the number of data bits.*/ + virtual void setDataBits(const int& nValue){(void)nValue;} + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isDataBitsFixed(){return true;} + + /*!Return the number of stop bits.*/ + virtual int stopBits() const {return 1;} + /*!Set the number of stop bits.*/ + virtual void setStopBits(const int& nValue){(void)nValue;} + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isStopBitsFixed(){return true;} + + /*!Return the flow control. Zero means no flow control.*/ + virtual int flowControl() const {return 0;} + /*!Set the flow control.*/ + virtual void setFlowControl(const int& nValue){(void)nValue;} + /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ + virtual bool isFlowControlFixed(){return true;} +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serxinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serxinterface.h new file mode 100644 index 0000000..b433982 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sleeperinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sleeperinterface.h new file mode 100644 index 0000000..4d0f9e1 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h new file mode 100644 index 0000000..f920c83 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h @@ -0,0 +1,48 @@ +#ifndef _SubframeInterface_H +#define _SubframeInterface_H + +#define SubframeInterface_Name "com.bisque.TheSkyX.SubframeInterface/1.0" + +/*! +\brief The SubframeInterface allows camera drivers to enable subframe support. + +\ingroup Interface + +This interface is optional. TheSkyX queries camera drivers for implementation of this interface +and if supported the user interface in TheSkyX for taking subframe images from cameras is enabled. +Don't forget to respond accordingly in your queryAbstraction(). + +Warning, this interface represents a new, different and mutually exlusive implementation of +CameraDriverInterface::CCSetBinnedSubFrame(). The initial release of TheSkyX didn't allow subframes, however, the +CameraDriverInterface did have the CCSetBinnedSubFrame() and it was called. + +As of build 6200, TheSkyX supports camera subframes (along with autoguiding). To avoid the possibility of breaking existing x2 camera drivers that +may have utilized the information TheSkyX sent in the original call to CameraDriverInterface::CCSetBinnedSubFrame() and or +were never tested with different subframe sizes, implementation of this SubframeInterface is required to enable subframes. +This way published drivers cannot be "broken" and those drivers will have to be "upgraded" to allow subframe support in TheSkyX. + +Please note, CCSetBinnedSubFrame3 call below is different because the last two parameters are +width and height instead of bottom and right as in the original CCSetBinnedSubFrame(). + +If published drivers actually use the information sent by TheSkyX's original call to +CameraDriverInterface::CCSetBinnedSubFrame(), in order to maintain backward compatibility with older +versions of TheSkyX, drivers will still need to work with the old call CCSetBinnedSubFrame() +plus going forward, implement this SubframeInterface. + +*/ + +class SubframeInterface +{ +public: + + virtual ~SubframeInterface(){} + +public: + //SubframeInterface + /*!TheSkyX calls this fuunction to give the driver the size of the subframe in binned pixels. If there is no subframe, the size represents the entire CCD. + For example, a CCD chip that has a width of 1500 pixels and a height of 1200 will have 0,0,1500,1200 for left, top, nWidth, nHeight.*/ + virtual int CCSetBinnedSubFrame3(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int& nLeft, const int& nTop, const int& nWidth, const int& nHeight)=0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/theskyxfacadefordriversinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/theskyxfacadefordriversinterface.h new file mode 100644 index 0000000..09d4406 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/tickcountinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/tickcountinterface.h new file mode 100644 index 0000000..3117837 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h new file mode 100644 index 0000000..7a2a6b5 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h @@ -0,0 +1,34 @@ +#ifndef _UnparkInterface_H +#define _UnparkInterface_H + +#define UnparkInterface_Name "com.bisque.TheSkyX.UnparkInterface/1.0" + +/*! +\brief The UnparkInterface allows domes and mounts to be unparked. + +\ingroup Interface + +At this time TheSkyX only queries domes and mounts for implementation of this interface. +In the future, other devices may be queried for implementation of this interface if and when unparking ever exists on these devices. +This interface is optional. + +\sa ParkInterface +*/ + +class UnparkInterface +{ +public: + + virtual ~UnparkInterface(){} + +public: + /*!Initiate the park process.*/ + virtual int startUnpark(void) = 0; + /*!Called to monitor the unpark process. \param bComplete Set to true if the unpark is complete, otherwise set to false.*/ + virtual int isCompleteUnpark(bool& bComplete) const = 0; + /*!Called once the unpark is complete. This is called once for every corresponding startUnpark() allowing software implementations of unpark.*/ + virtual int endUnpark(void) = 0; + +}; + +#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h new file mode 100644 index 0000000..d5fabd6 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h @@ -0,0 +1,239 @@ +#ifndef _X2GUIInterface_H +#define _X2GUIInterface_H + +#define X2GUIInterface_Name "com.bisque.TheSkyX.X2GUIInterface/1.0" + +#ifdef THESKYX_FOLDER_TREE +#include "driverrootinterface.h" +#include "components/theskyxfacadefordrivers/theskyxfacadefordriversinterface.h" +#else +#include "driverrootinterface.h" +#include "theskyxfacadefordriversinterface.h" +#endif + +/*! +\ingroup GUI + +\brief The X2GUIExchangeInterface provides the X2 developer the means to get and set data from a graphical user interface (X2GUIInterface) + +The X2GUIInterface returns this interface so X2 developer can set/get data from a X2GUIInterface. + +*/ +class X2GUIExchangeInterface +{ +public: + + virtual ~X2GUIExchangeInterface (){} + +public: + /*! Call this to set text user interface control values*/ + virtual void setText(const char* pszObjectName, const char* pszValue) = 0; + /*! Retreive the text values from user interface controls*/ + virtual void text(const char* pszObjectName, char* pszOut, const int& nOutMaxSize) = 0; + + /*! Enable the user interface control*/ + virtual void setEnabled(const char* pszObjectName, const bool& bEnabled) = 0; + /*! See if the user interface control is enabled*/ + virtual bool isEnabled(const char* pszObjectName) = 0; + + /*! Set the current index on list type user interface controls, like a combo box.*/ + virtual void setCurrentIndex(const char* pszObjectName, const int & nValue) = 0; + /*! Get the current index on list type user interface controls, like a combo box.*/ + virtual int currentIndex(const char* pszObjectName) = 0; + + /*! Check a user interface controls, like a radio button.*/ + virtual void setChecked(const char* pszObjectName, const int & nValue) = 0; + /*! Get if a user interface controls is checked, like a radio button.*/ + virtual int isChecked(const char* pszObjectName) = 0; + + /*! Append a string to a combo box list.*/ + virtual void comboBoxAppendString(const char* pszControlName, const char* pszValue) = 0; + + /*! Set the text of a table widget.*/ + virtual void tableWidgetSetItem(const char* pszControlName, const int& nRow, const int& nCol, const char* pszValue) = 0; + /*! Get the text of a table widget.*/ + virtual void tableWidgetGetItem(const char* pszControlName, const int& nRow, const int& nCol, char* pszValue, const int& nOutMaxSize) = 0; + /*! Get the current row of a table widget.*/ + virtual void tableWidgetCurrentRow(const char* pszControlName, int& nRow) = 0; + /*! Get the current column of a table widget.*/ + virtual void tableWidgetCurrentCol(const char* pszControlName, int& nCol) = 0; + /*! Remove a row of a table widge.t*/ + virtual void tableWidgetRemoveRow(const char* pszControlName, const int& nRow) = 0; + /*! Remove a column of a table widget.*/ + virtual void tableWidgetRemoveCol(const char* pszControlName, const int& nCol) = 0; + + /*! Display a message box.*/ + virtual void messageBox(const char* pszTitle, const char* pszMessage) = 0; + + /*! Call an arbitrary method (signal or slot, not properties) with no argument or one argument (double, int or string)*/ + virtual bool invokeMethod(const char* pszObjectName, const char* pszMethodName, + char* pszReturn=NULL, const int& nReturnMaxSize=0, + const char* pszArg1=NULL)=0; + + /*! Set a text property of a user inteface control.*/ + virtual void setPropertyString(const char* pszObjectName, const char* pszPropertyName, const char* pszValue) = 0; + /*! Get a text property of a user inteface control.*/ + virtual void propertyString(const char* pszObjectName, const char* pszPropertyName, char* pszOut, const int& nOutMaxSize) = 0; + + /*! Set an integer property of a user inteface control.*/ + virtual void setPropertyInt(const char* pszObjectName, const char* pszPropertyName, const int & nValue) = 0; + /*! Get an integer property of a user inteface control.*/ + virtual void propertyInt(const char* pszObjectName, const char* pszPropertyName, int& nValue) = 0; + + /*! Set an double property of a user inteface control.*/ + virtual void setPropertyDouble(const char* pszObjectName, const char* pszPropertyName, const double& dValue) = 0; + /*! Get an double property of a user inteface control.*/ + virtual void propertyDouble(const char* pszObjectName, const char* pszPropertyName, double& dValue) = 0; +}; + +#define X2GUIEventInterface_Name "com.bisque.TheSkyX.X2GUIEventInterface/1.0" +/*! +\ingroup GUI + +\brief The X2UIEventsInterface notifies X2 implementors when user interface events happen. + +X2 implementors can implement this interface to be notified when user interface events happen. +*/ +class X2GUIEventInterface +{ +public: + + /*! Take what ever action is necessary when a user interface event happens, for example, the user pressed a button. \param pszEvent The name of the event that occured following the convention "on__".*/ + virtual void uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent)=0; + +}; + +/*! +\ingroup GUI + +\brief The X2GUIInterface allows X2 implementors to display a customized, cross platform, graphical user interface. + +TheSkyX Build 4174 or later is required for all X2GUI type interfaces. + +When making a graphical user interface associated with a cross platform device driver, the developer is faced with basically two options. + +Option A: the developer could write and maintain native GUI code specific to each operating system. While this is a perfectly valid +solution, the code is difficult to maintain and native GUI expertise/experience is required on all supported operating systems. + +Option B: the developer could use a cross platform graphical user interface library, for +example qt or wxWidgets, to make their graphical user interface. Again a perfectly valid solution, but then the distribution of +any associated GUI libraries falls on the driver developer and if not done carefully, dll $#&& will result (especially in a plug in +architecture). + +Option C: The X2 standard offers a third option when a driver developer is faced with the problem of creating custom graphical user interface +associated with the hardware, that works on multiple operating systems. +X2 developer can use the X2GUIInterface to have TheSky display their own, modal, custom, graphical user interface that is cross platform. +The X2GUIInterface is windowing library agnostic, it does not expose or depend on any cross platform GUI library or windowing code +native to any operating system. The consequence is that X2 drivers using the X2GUIInterface are more or less encapsulated +as far as the GUI goes. So development, distribution and maintenance are greatly simplified. There is of course some overhead in learning the +X2GUIInterface, but the code samples show how to do it. + +The X2GUIInterface requires creating the graphical user interface file with qt's Designer (an open source copy of +Designer (designer.exe) is included in the X2 samples in the footer). The X2 developer distributes +the .ui created by Designer and TheSkyX loads this user interface dynamically at run time. Graphical user interface events are +supported through the X2GUIEventInterface. Qt's Designer is only required at design time by the X2 developer for the creation +of the X2 user interface. The X2 developer does not need to worry about distribution of any qt binaries at run time because +X2 is not dependent upon qt. Please note that the .ui created in this way is considered open source and since the +.ui is visible in TheSkyX anyway there isn't much intellectual property disclosed. + +There are a few rules when using qt's Designer to create a .ui file compatible with X2GUIInterface: + +-# All controls must be placed within a QFrame, promoted to an X2Form via the x2form.h and named X2Form (code samples do this for you). +-# If you need access to GUI events through the X2GUIEventInterface, keep the default object name that qt Designer creates when dropping user interface +controls inside the X2Form (for example, the first radio button is named "radioButton", the second is "radioButton_2", etc). + +Please note, that not every control and not every event from every control is supported. Never-the-less, the most common ones are supported. +Between the X2GUIExchangeInterface and using qt's Designer to set user interface control properties, a nice GUI can be created with +a fairly broad range of capabilities. + +Declare a local instance of the X2ModalUIUtil class to obtain this interface. See the X2Camera for a complete end to end example of +creating a graphical user interface, setting control values, responding to GUI events and retrieving control values. + +\sa X2ModalUIUtil +*/ + +class X2GUIInterface +{ +public: + + virtual ~X2GUIInterface(){} + +public: + //X2GUIInterface + + /*! Set the name of the Qt user interface file (.ui) that defines your custom user interface. This must be called before calling exec(). The .ui file goes into the same folder as the binary (shared library) of the driver.*/ + virtual int loadUserInterface(const char* pszFileName, const int& dt, const int& nISIndex)=0; + + /*! Returns the X2GUIExchangeInterface associated with this user-interface. */ + virtual X2GUIExchangeInterface* X2DX()=0; + + /*! Display the user interface.*/ + virtual int exec(bool& bPressedOK)=0; + +}; + +/*! +\ingroup GUI + +\brief The X2ModalUIUtil class supplies the X2 developer with the X2GUIInterface interface. + +Declare a local instance of this class to obtain a X2GUIInterface. See the X2Camera for an example. + +The implementation of this class merely assures proper intialization and cleanup of the X2GUIInterface and should not be changed. + +\sa X2Camera +*/ +class X2ModalUIUtil +{ + +public: + /*! Constructor */ + X2ModalUIUtil(DriverRootInterface* pCaller, TheSkyXFacadeForDriversInterface* pTheSkyX) + { + m_pTheSkyX = pTheSkyX; + m_pX2UI = NULL; + m_pX2UIEvent = NULL; + if (pCaller) + pCaller->queryAbstraction(X2GUIEventInterface_Name, (void**)&m_pX2UIEvent); + X2UI(); + } + + /*! Obtain the X2GUIInterface*/ + X2GUIInterface* X2UI() + { + int nErr; + + if (NULL == m_pX2UI && m_pTheSkyX) + { + if ((nErr = m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::GET_X2UI, m_pX2UIEvent, &m_pX2UI))) + return NULL; + } + return m_pX2UI; + } + + /*! Obtain the X2GUIExchangeInterface*/ + X2GUIExchangeInterface* X2DX() + { + if (NULL != m_pX2UI) + { + return m_pX2UI->X2DX(); + } + return NULL; + } + + ~X2ModalUIUtil() + { + if (m_pTheSkyX) + { + if (m_pX2UI) + m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::UNGET_X2UI, NULL, &m_pX2UI); + } + } + +private: + TheSkyXFacadeForDriversInterface* m_pTheSkyX; + X2GUIInterface* m_pX2UI; + X2GUIEventInterface* m_pX2UIEvent; +}; + +#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp b/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp new file mode 100644 index 0000000..834705a --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp @@ -0,0 +1,44 @@ +#include +#include "licensedinterfaces/basicstringinterface.h" +#include "main.h" +#include "x2dome.h" + + +#define PLUGIN_NAME "X2Dome DomePro" + +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); + + *ppObjectOut = gpMyImpl; + + return 0; +} diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.h new file mode 100644 index 0000000..b3b200f --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/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/example_domepro_driver/X2-DomePro-master/rti_zone_logo.ico b/domehunter/protos/example_domepro_driver/X2-DomePro-master/rti_zone_logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..02e4fe57cbf486c5a0a714e9d161ddba25d4527d GIT binary patch literal 23982 zcmeHv2Y8g%mG+fv;$)LpF4${llPqAclO?VRZX}NFIK>6BiIX^S9I#^>n`VOnn+~Q4 z(R)X9L=hmm5bC}6t|=NxBWctt9iM&QJM)c3LXvUz-+!Ndp4{j8n4QcB%-pY!wLZzvUx@A~y~em;QT{pxn59(&C7d5}^K-&g7v zzu@PutNZR(YQsxP{QxxZQ&4pN4lhc9PS+tG@{wPiM`E44_Y%_8+ylT_sA zN)0|=Xl{}(zPK)zFJ6?!8izF3)w=J#cIAq+fT1M+f|6zX}a^0K8YBSkF9@lu)?E!C-UQV+%A5=-OT)cMv0{mj5=-=XDUS-) zboS1lCCf*RlocPmEh|R7E!(F}lK6lf;=q2^;{K}KOesrG5*zNdB}7R@T$tD*ac}5J zv7S37r4eVu8h%>L=Z{PA*&|XEv`2FHZ4gI6wlrhU$a5*~wc=iDOep3(r|-4kx8{)J zQgkjz3eOyo%8Vqb&dZdNkRZto+#wg58szGg%bIr^)>{gmjd?A>N2KJ$ekn_glJd+H zX(%ss>*^)wnk^+(sP7!4V^5BeG8fPK-jfHU=;&@KI=)|O%|%iNy}i`d3jO~=>=}uY zwSTi*Y;JVZY^$r0vbb4KAk9@3V$V#Ll}n6b>Sx*+m?{Nx1pCtu|6;&q zbsb&#G(KO2-DqoU5Qo(w)i{6kJclJkQd5)<+hfMQ*>J|H2>VRB-p zX{k5uu!V-bvlkY)Z60a2lv$*`wp#pWO_lc^eNd*p`U|n)Y&y~trNLSv8R6$;3T(i8 zk3A?0aTcw)*>3vRuU*r$uUxnwZS{3hQJC-K+u`K9rOc{rTU&Ld_|N=I-hFtWeD=zV zutzDOFjmfDMpq#1KuX=#=g@K_0Z zS`WE4m71jyucTdHkfZ0*{DVH_lXT{!eEz53YI%|W%+O$|gZ(znDCI)FsVCHlCVK^R z#fm*E5eIaI>!ftoGY%yNq>+`g?!e1JX-TjySe$(2~q}|RSBEbT3e&naIv*j z%Uj!H=t5~$y4YclE8xFMGg8HxnxyTrBRf@UVAq?m9#8&5_wSbZZ@w;Lo_bV9{rErh znvTFn)w%pk6ZWqeeyS4tNt<1fo27YdhP>;G@-%H*O1!3Boffb6*i9e&(~sJ-(*KByp1`=MIcnKJNS3%aFg$zo1P5OY$TnBt?QG9^x`VCxzn zTTlAtglMsap3pYGCNDz{E%VhrX6!SMN$UBt;((m%Fh?!+up08FkEGo%gJwF9GlLp_Q1! z0=~;rf!UY&-hgS4*ehZ>=SxVch8$8yXMXizjxl04~P6n)87EU zNvu)}{;3nqz%zA_ixslAlW)-H+D-A1QXCyBwx|&82OO}MVS9J#bNbP9LuCBWAImt` zHSxt~WfAbesm<%aUyQWYQ~^6cw;}fiU=&AQ7QT@wA4sMl3dzm!gJXT=;iA$*G^wVXSTgx23t$<7n z+E(~k`Y_X}gYZX(#d7wrm`@#$;-J0oOS>fhz!u5by+$&(FM}W537gk07jRz7K)W1g zq71UBfS%ZZLCi5>QV|;p+UGRi9kdT=U!H&Zu;d=uE%`zFff+)8TcWhT&fK$3(l#%~ zy2IoPoG{v+D&QOw@RTVoQc7aNA@4BAgnW0UeNal^GwX21a!+EO$PjI7NrSYmU%Lt% zX_lO$d!z~W))>U670?xX5-~`)lmQRiAd}Oe2cKR9KiyVeD<o0y~M802x-A2=ZizO7!$fvw1!F}MypY)I0Eh5FU_p0D(A z^h2eQl*uXRfNL*3Xcrvbfj!(RIk+le@7gg(1#Dg;{5rzQrIa7*prYSSe z!Qa#Yw^@kEpdY5Lv=45RJYtVsYo#CrdJ0^75&BU9dzg9huq13;EQzaT;hL$j1o2VV z!8NwR$5MxiP9BuPBRhq7h?AN@lMFeJ~i891{5bLAY~i3>715uou_QTQ22gsdZ%PM1*MPl2B% zOVr{i66rTZ;@8ZTxV4`fNQBu=<;>7v%_3&4S9=x`e3m9WWAlJ;(f zeuqlI*+9ty4^{b@|81Pr6;E~jOdQq^*YmjCIE(>cm(lA2U4OiC>5??pA{IkzQVDcGjM0F&tq%CE9zK@%-1Cfa4(?TJW244_t-zS=(BbX|b@c+UcLQiwnN4EL%N09( zv^6_Z$AlL&_NtIp#1I#N>#R9hvU1G3+RrR~?{6Bap)jMnvch(;GOISoJdWss@;bn6K7q(f+mtYvZ~Z4>!Z+U4XC2jf;WLdtBq0 zQBV9(A`k7C7WlO)#5A?}S&&DCY?w42`0^on7x?qTpZrKpAoim?Jcphec8Rg~wab^J zy#clgbK7xU04~z&cF%1ACMl8jYP;mc$H@4f{zUs%`q`*M0n%&+z6Nd}HuInLnZ`iG zC-mv&)1?JGdCouj$wy=#u-ueiJtyx&-#Gu&mtT^q#!Tb~l_q`G8q|D3m zuqNo64d}!s7%?ZtN;P~-4RF5$aeouymt0TzWB;Q959&B;*SwiB zcAJF+Ft&1*sgzWa$acvFu+k%+Tig=V4 z^FMs$e%In+9A!;O6jMrq#;_*HfH>2En4}8Wz5zL(+}O_g7kO}>)MViIz?^09!L^VT zF~jO{??WFR(spR}?_ZG`=oVw~X6Sq?Y;6m0Ezg)0c-8^ku0)Ju!kWv{5Nl!n65zz* z*hnb@Hm`P*xT+yQ~=A?0cYhR4tCq0pA42z#0kw<4>468 z^pi1f?9szA?bVm`d7vK5gMQW{{$q^BJR#*>g*8_p4m3l@t6bQg@jyBDoH;zM--NiQ z4EZ!W@N7BobzM%HbAH4kTo+@_nb0}*3+$Kg6Yr2XgI%r~Z-J3|mIHHd8)2N|&t zb&c_1CH9~K7tbDZp2e8o0t{0OoNfvacE%UTkI~22;Q!|QVVItuXP$Gsi#VP-&sTn? z?oE1WsBHRlg5=}8RKtD{GZE`GU{1!pjV`-phRp3a<7M!lTrcBa8{}~op4z%W4k4#|c*PQr%TL<_`h*hbaSd{erJ=_q_t+jC<52%m@9Ky0^GvUjbKtevYQbH@rv+qwjH zBv#uW=G)3(cPMLKHhf>^$~9XV10&z8bxp^U-OP=6p%`-)91oCO#9sx-k>(xPCOL<| z19G&*$ob}-I4GHWHb}29tdTiuBS&S>H(ohs5n{+H=wR1D z{%+y7@GE{ob%%9 zP3FejjB5)J*A|^Us^@3!p68YEXLqB5G4A>Wl7(1|u~OH;eW=Jt*7EL2=ALtFJ!eiG zv8fq4!Wf-A6vIY0z>gRhgY$5IQnxLaq}8(}8LvI@$lM3&G?nE zaq5n>QiS{kV;|yYD|DGU$?P|TUDwUIXFD%lIaq^VkWNXx=s@O`Nxumzo+1yD13jjL)SC0Hs(9a zp`#Y8)dWAps}$$f4m{d~Sco_=9dUm$atM@p81f6J=X@l=^FEQ-m9r#n*;I-4ohZ?M zlO!GM_@M-CEaktN9HM5 zD|#E3J5MnXAG(bHj+}_`S(|2ExB~H<4fPe~^R2)P7UZkVz&JV|4!>{0Wd=^*-&x~k zY{E1AzcDUB_n9}SWz7nCfWjo$l>9s$8(u_=#+p?->|GnMChJUXz|V})_4n`tj3ugp zZ)=#RM-GKG4Nsf+Kd~m#C*Ka{VIXhH@G|V-Rm9wuOyC^ESl#hX+|QU-=V*|3VBV({ zue?}OXMAc0HrBbvZsK>&%edai?=XMDi+P^zat+mCEXvJSyGi}@mr>wvEtv1hc=#;^cG zGe2P5$Nq$MAAcx2kTWVqEc|7IzK`;525-dGmB955TdCwBHY);8Mbz= zoG0XW4VaVq&KR)kubJ0 z_~v@YAm6cf;aq8j{`WSB!Dth^^3F4BgP!xULg$-dgSyoj$X)Y}_>FPnbbK4v5{97aB&fMk~h@-9oGf{7vkjpV6uCGBYy9Mu= z(pE!k$Uo>%|Jxmv+P1BqIM&HKV{Vt;a36Sv+nPFRJ3XzTzOqtG z8EIO_uR+JI;>=!w-ZYbceh-_?`YL@D>z}RI>l<_iGAG~6L-OjCf1FVSJ-}y;!aSI# z&Wv)cfx1);+xKOId2`yxBIM+1VPmdA?#$mYXL=F3USl?i1w7Ngy+`?%7ZvJ!{XXahb;RJAvgcZu-=?o@#2IHFMo)vdwvPEG*pw33Rq8r(&E%c_ zNBbuDfLhoc*815y=H%U??Tqdt^N>4vXa0fLwF_af%!@85OMzgEH~lJ`q3P1-M2<1_QkHK;AopRk6+o;~JY*?Y$t6LWIR-4L6x z_kwxo8pKx2{V~5%gB(~buHN_$*|P(EgG1bBRi9bNej0jB4lG@$^I`R<`(A27?-%0Z zQsm&6JMbLzV>QtGD|o#KU7=sCE-98)V8p_tc=Qj&c3j9a7vRc6ZZIbXJ!d$_b;x_eW~~N<(L)|~`dpXo(d)pv*k3~1S_*$neK7`e zDh^=aHsTwcfp)x-XZFu9e_ROJv+sxcu5+0lzKQ)b%w^i3JLKJwm8$hc^A2B1OhCVM z6@79&@lT9H`%2xl739nLy}M*1Y!36t#yK{0iWrFX2T$BaEXrQkR_qJ=Qk$8Ng3eT8 zo$QUJ?o^}JLyXdlx)u9U=u_FV%05{O@?xw%Ft)Bj{K?vf!^J!COf~vIueLV#%zs{v z?gy(xF9dzYCB(ASlVY6Ro#>JI$W_17Yry%Yj?pd=4|C9`(Oy!|DR;i|OgbR{Ch%MU z-k3jPuUifE9A}pON$f#o&rvb%VeYtuHV8TGD&jB~7OP6Zy}&iB!Sp2mQt)4ov(B0V zFZMyO{=mFG`y@m6?UIi@&Nuamej@z9Ud=yah%#XMI^cNLc!-197sa|7`1CdKv(i1Q}*n#9!6VV zi1n~$nD_dR>&#Ik4BCYI#h`ohQYf%Awt(uuHantDu2{LSW~eecg?<56Y|a$ zt*S?Z@K&b z48D1O+3(49bCkjV5JOVmX#zJ=PQG=H8u@wDp_nf=_#X#f#PetHLVU(}inhJ$^&#qIMxEIBJ@1|U`m2(S^%E()d$v^Gr_L<0W!q%|g)xbfzUl022wC^2p6ZNGQ7?S*# zqvpg~BYPaFU$pa;z#^>u6#*0Goj)ywF%eRP+$!r(Zr&r$>Rvp?=Iot5y={}s`rXUu z^B{pNZ7{6&D@0-e8TMIRi`VIK0mR>b-ojffM=QJbQD_l%p^hd_Hz z8JFRV)ay7FF%zBC(pAc>?vVyHv5=~-5SvITpE5-KTnX3{BRk35C{7!*sH`C)OZ%85xf%z z*T8RS9YOA#wQBZ%l7HqooOUJ}eWtLRp{NOjpY4WsJl6n!WJMj2wZL-pN7i8<+w3;E zSm%&S=o#ee#ai^O<6_ScV_@d&8co>$9Q1Ia50rg~d=7$raGCzgB?CQi#G4!!T98wK zA7xLluG4{68{}LHeYW7rg`Tswt`<7L-q?K9?P%kjb_V^4JgeaAM!AD`JU_wbGU!)z z{~!89OHd;#(XR(|52LOv>Kece@?z#o*qR6}Ffp6Agb5KXfLG2`a*J>yKF4?D}Mw%CVyb}gxe97}yg0rf7 z5unTL5iUZ{D(i+-(02zgfeAi}7{3C3)v)i~^6n{j7w@bo76-50g62Aw%(WtA|A@|l(9`hPw zU&K%acs3~&wY9``^Kk|vZs@b+UXVr}Fl7N^sY1q6VUSVi8Og_$2f5{*L%kfAxhFf* zjm{857NRzmcMiS1h?&^;n6z`9)|V`-p#ieKnZaBq>+LCfHlmhQ)$J{$&+}Uj{OfSx zcU`jvCgWLk)~$Q6Gu_FZ`i>syLin28Ge@WU+8O5Z)~40+eKkz`rH%0p5HTG=Xr_8 z*=0X%Z=)HtALih@;>d3G-BV{YZb$6llDpHcqpk}ZnFrg*{`V`$qjR6D5RYb_I-+ap zz45}o={f-LN-}t7pLsrN*H^DNpQr2gUYup-IL+uG>eWW}qBEYn(@wIVJS$+U_VeV2 zYvA)E>Bj<4KQn6{yX6I6vR^o9`zl?xO-2tmpRMcKKiu_R=ICf+EwB||D);VmhJ6I= zgLm;xf688hOss+Y7=8N8i=`hwh!`|gu69$8V2^DY`~dk*UOQLU`C~Ww=^STQp1Xe5 zYe4^*DGa?-?5ErqHy&K(fPg*@kKT8mczW*A;CO0#<2G#{jK%abzf0N*GrYi`}fwc<@dnEocO_#_O zls9@q(3_&4;Q;TkOForM^m3&HKnCzDw8u9)SYNOK=NFtjBt^_`xUTNbYFD{?VzG3r zgSMZ27ZzaN4A>#oH0{9Z8F(%vY25;$j)W|kA!inTCg&GSlGtU_Bw_h9iGvPRA|~N; zQsFCRqo?l6>!+UUqdw7}v-gg@YdPo_(a-*NizA&n@&(w} zpaoOq1Y{n!a<-(do2SoeBKnbHmQ9!7`I97Q<~TVyW3U7@iNeLxKMCKhuGT#~nZ&=i_`Fc`re%_KCJ4_J`%41k zodjGH26>-dG*wQ|pCU2KXGkJ!z4Mx`_2%rHu@b&ynk1ngCl0@lSu{bym(Tu3*mvK< z9&!Eu0l??+8BFF8b8t2@kM5I{eOn}X_eM$D1sr^6r(^>+6u_3Tr;@#3e6BKi=UPcw zKVQq7a*u~hLl;k#W7EgTamf7q{D~5=aH7PbCntXCWQp@bua55oiCOrOL@gNq56j=Z zfG%(7m$)YC8T;-!E_}xK{JUZMd0v@AV9#R02KI5ya-Y=%^faBH|A`!(4PJL|mJGxN zd=5MY{bi9$aSrfYc_wfPd*S}K2XU_hxsF2k`;-Izkm(jY-?am|j9}z7i}e2?!M>3O z)Ia%u2srqB1MH#EC*P$V=${||KTCjpTKF$T)FNE`e?>S_@6<2Of4uO53woy7TUu06 zYLZF`I;2vL9#9!)PAF@3hKk$0S)H3VQNh+uReL7QKp2D-)3bi~H^!a2J?mIHa2-^@=L-H=mF8xvw1c}8@PGmyP{`FN#NDbmK1u& z9-^{N9#LhHXBDuVir(O-fJ+r}n+mbKvd4!j#0v^>kID`^r%LfRJjlvx$xbCte%u|lp+AwRE>OHei0X}D4p zdfQdT)}_i69j5S%kjjY+RdGiSsMK?y5piCjPN?wzCn!8SrcmEf==oR3fhy$TRBm*H zLNAZ1FUnP@;VJaYsP>vF)m~kxS}IC$f2guV1}pS=sEc*A(6MBNXUP<5KdP*#KsA?{ zl{q+2A;+o;&z(@U`dgwWY{GLL;hC;qmp>F_dC{U>1se;6K zg<8DAGt=sFOOry*TII*ZDAZdO`XUs1R1}_7Qs}c%==s3jol%4%dK|d_V{d&TV*76N9W!j$@ZrNp1`hWBs_gst zg$GB32E}h#dv^WNV~2OGS+%NQ=$P=YK*m4f<&e0Dhz=54f`WqLM7W!aEgd&T4Z8^{K7PR}79>I=!rco=RwobYaZ;_HJ!OH5;)~Aj4&vN(9)5e0 z2CLu*4F7PqEE3c!0eZZm*3X%=_|`qV=cMzifPf>NDR_D3CM9bc;o;$#ZgG0jn6!BO z_}wRZCgI}`5(#&xz|K3e#Dm6Bkof515Vf@jE`0JxBBZYh?AQ@(>XN0KJJxd4Ny7iQ zi^dsxnU3Ki5w}pCcJGKLvCMfsMUacg&@BJV zwb?#zI?src#C#7va+KE@mpHqU@Y&-Rp-BYA$NGEweAbD?jEs)8bRyB&DETG%MUV?_ z>Sz6jcP242u7idr7twEx?ATT1pPuX&?jqsVPS-+a%$(&xW51zWFRJLb-gwDFJ0J_c zSSJ@Q5~=;YC!b%wV#R!rnB76c-ym^PskC?A_|Fk;M*JYoh}cdFKDh6&{(IhZl9|>vgP3;G#7Iwb_VvsF|PYg(G z314}3z4s|?!8DT~D#x{r_K%2w<(r6O<~`CNvEq)vKE4w_(OiuCFtmflvOoXjPjCEv zW{7f2SDRBmP{5uZI(FE547ljix9`f8i~P^enmu?Z7c%a{(VjFw;*J0O-S1~BgKhxj z(SM8K1VCfS(!LW{1_n;{KR5BJ8rf{*@z{ZF0p z9XV#qm|_0IaZ&>VwRR5jJv|oU`~W06Xq?&V8V3zy77&1?DDMvQ>pdKYJ+ME|$nc52 zUpukMN#cDsA8yU+c%ya9yTkl~#{3z9gZm5}y4Pp-M`I`6skwOnot|kNe^D>Y=a5^$ zy?NOC`)K(mN-|7F}}&enNsnenrq3>oqy{!2=wRvIK`c=y4M zEbui{OUvS~Z~cwO?2Y$UuUU(+j${3X*>m3c=@UODi6^~D!_RFmy!*gj`1N9DELo*_S|#NKm5p}k3RPJ6D|_Ypw(-_ph36Xdh4xs-s3$K;`H_XDkSC(ARC@z z(8uG)`;PnyT+ID^g!BGIPA=}bXCO#?G;-w4FJ$iLPrIO|&pekOA&GG#$8;-;2k(AY z%VNMi3!sAw@A?hIIrsBv?xhTOo>WcZ!;xcL+UX(APjB`1Qa;{&1`g2;lumlV zO}!1jy!*N5pK!^~xX+Nn8+@+nr{R3_pIPeAme*SjR~FK#_`efu_T=MA#ZBp!Xt$-CA@z4i@q@$K8azV`j09e2Clc@6(<=N&O@C-rR5>t9oYpcePO z_SCbtgTxQ6w#^&n+)GwbPS}AwzycaroT-$`3#Sn|j}?_dol+*Kl6$`Ysjl zhT$`GK$nHk2@Fs^_dM{>3(xc;3B8c-JUjHofxq}(*Zno<4ZiciA9Z#D{RTYs^g|DU zi+;~Mt4aLuhyU?!|MuPQe((Et8#mqf>eIi^ZFddm*YAM`2HZ7p5R4&gj&mUoeCPhJ zf7?ys-#rteH&ByDGJMX&t h?mPQ-`oT?o@bZSq?c;q@zy0Tr{waZfO28$7{{p;2ukHW< literal 0 HcmV?d00001 diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp b/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp new file mode 100644 index 0000000..71022dc --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp @@ -0,0 +1,1316 @@ +// +// X2Dome implemntation +// + +#include "x2dome.h" + +X2Dome::X2Dome(const char* pszSelection, + const int& nISIndex, + SerXInterface* pSerX, + TheSkyXFacadeForDriversInterface* pTheSkyXFacadeForDriversInterface, + SleeperInterface* pSleeper, + BasicIniUtilInterface* pIniUtil, + LoggerInterface* pLogger, + MutexInterface* pIOMutex, + TickCountInterface* pTickCount) +{ + + m_nPrivateISIndex = nISIndex; + m_pSerX = pSerX; + m_pTheSkyXFacadeForDriversInterface = pTheSkyXFacadeForDriversInterface; + m_pSleeper = pSleeper; + m_pIniUtil = pIniUtil; + m_pLogger = pLogger; + m_pIOMutex = pIOMutex; + m_pTickCount = pTickCount; + + m_bLinked = false; + m_nLearningDomeCPR = NONE; + m_bBattRequest = 0; + m_bShutterGotoEnabled = false; + m_DomePro.SetSerxPointer(pSerX); + m_DomePro.setLogger(pLogger); + + if (m_pIniUtil) + { + // read home Az + m_DomePro.setHomeAz( m_pIniUtil->readDouble(PARENT_KEY, CHILD_KEY_HOME_AZ, 0)); + + // shutter angle calibration + m_Shutter1OpenAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_OPEN_ANGLE, 90); + m_Shutter1OpenAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_OPEN_ANGLE_ADC, 3000); + m_Shutter1CloseAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_CLOSE_ANGLE, 0); + m_Shutter1CloseAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_CLOSE_ANGLE_ADC, 500); + m_ADC_Ratio1 = (m_Shutter1OpenAngle_ADC - m_Shutter1CloseAngle_ADC) / (m_Shutter1OpenAngle - m_Shutter1CloseAngle); + + m_Shutter2OpenAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_OPEN_ANGLE, 90); + m_Shutter2OpenAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_OPEN_ANGLE_ADC, 3000); + m_Shutter2CloseAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_CLOSE_ANGLE, 0); + m_Shutter2CloseAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_CLOSE_ANGLE_ADC, 500); + m_ADC_Ratio2 = (m_Shutter2OpenAngle_ADC - m_Shutter2CloseAngle_ADC) / (m_Shutter2OpenAngle - m_Shutter2CloseAngle); + + m_bShutterGotoEnabled = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER_GOTO, false); + + m_DomePro.setShutterAngleCalibration(m_Shutter1OpenAngle, m_Shutter1OpenAngle_ADC, + m_Shutter1CloseAngle, m_Shutter1CloseAngle_ADC, + m_Shutter2OpenAngle, m_Shutter2OpenAngle_ADC, + m_Shutter2CloseAngle, m_Shutter2CloseAngle_ADC, + m_bShutterGotoEnabled); + } +} + + +X2Dome::~X2Dome() +{ + if (m_pSerX) + delete m_pSerX; + if (m_pTheSkyXFacadeForDriversInterface) + delete m_pTheSkyXFacadeForDriversInterface; + 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; + +} + + +int X2Dome::establishLink(void) +{ + int nErr; + char szPort[DRIVER_MAX_STRING]; + + X2MutexLocker ml(GetMutex()); + // get serial port device name + portNameOnToCharPtr(szPort,DRIVER_MAX_STRING); + nErr = m_DomePro.Connect(szPort); + if(nErr) + m_bLinked = false; + else + m_bLinked = true; + + m_bHasShutterControl = m_DomePro.hasShutterUnit(); + return nErr; +} + +int X2Dome::terminateLink(void) +{ + X2MutexLocker ml(GetMutex()); + m_DomePro.Disconnect(); + m_bLinked = false; + return SB_OK; +} + + bool X2Dome::isLinked(void) const +{ + return m_bLinked; +} + + +int X2Dome::queryAbstraction(const char* pszName, void** ppVal) +{ + *ppVal = NULL; + + if (!strcmp(pszName, LoggerInterface_Name)) + *ppVal = GetLogger(); + else if (!strcmp(pszName, ModalSettingsDialogInterface_Name)) + *ppVal = dynamic_cast(this); + else if (!strcmp(pszName, X2GUIEventInterface_Name)) + *ppVal = dynamic_cast(this); + else if (!strcmp(pszName, SerialPortParams2Interface_Name)) + *ppVal = dynamic_cast(this); + + return SB_OK; +} + +#pragma mark - UI binding + +int X2Dome::execModalSettingsDialog() +{ + int nErr = SB_OK; + X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); + X2GUIInterface* ui = uiutil.X2UI(); + X2GUIExchangeInterface* dx = NULL;//Comes after ui is loaded + bool bPressedOK = false; + char szTmpBuf[SERIAL_BUFFER_SIZE]; + int nTmp = 0; + double dTmp = 0; + bool bTmp = false; + bool bIsAtHome = false; + + if (NULL == ui) + return ERR_POINTER; + + if ((nErr = ui->loadUserInterface("domepro.ui", deviceType(), m_nPrivateISIndex))) + return nErr; + + if (NULL == (dx = uiutil.X2DX())) + return ERR_POINTER; + + + memset(szTmpBuf,0,SERIAL_BUFFER_SIZE); + + X2MutexLocker ml(GetMutex()); + + // set controls state depending on the connection state + if(m_bLinked) { + // Az Motors + dx->setEnabled(MOTOR_POLARITY, true); + nErr = m_DomePro.getDomeAzMotorPolarity(nTmp); + dx->setChecked(MOTOR_POLARITY,nTmp==POSITIVE?true:false); + + dx->setEnabled(OVER_CURRENT_PROTECTION, true); + m_DomePro.getDomeAzimuthOCP_Limit(dTmp); + dx->setPropertyDouble(OVER_CURRENT_PROTECTION, "value", dTmp); + + // Az Encoders + dx->setEnabled(TICK_PER_REV, true); + nErr = m_DomePro.getDomeAzCPR(nTmp); + dx->setPropertyInt(TICK_PER_REV, "value", nTmp); + + dx->setEnabled(ROTATION_COAST, true); + nErr = m_DomePro.getDomeAzCoast(dTmp); + dx->setPropertyDouble(ROTATION_COAST, "value", dTmp); + + dx->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, true); + dx->setEnabled(LEARN_AZIMUTH_CPR_LEFT, true); + dx->setPropertyString(L_CPR_VALUE, "text", ": not learned"); + dx->setPropertyString(R_CPR_VALUE, "text", ": not learned"); + + dx->setEnabled(ENCODDER_POLARITY, true); + nErr = m_DomePro.getDomeAzEncoderPolarity(nTmp); + dx->setPropertyDouble(ENCODDER_POLARITY, "value", dTmp); + + dx->setEnabled(SET_AZIMUTH_CPR, true); + + m_DomePro.isDomeAtHome(bIsAtHome); + dx->setPropertyString(IS_AT_HOME, "text", bIsAtHome?"Yes":"No"); + + // Homing + dx->setEnabled(HOMING_DIR, true); // no corresponding function, need to ping Chris + nErr = m_DomePro.getDomeHomeDirection(nTmp); + dx->setCurrentIndex(HOMING_DIR, nTmp-1); + + dx->setEnabled(HOME_POS, true); + nErr = m_DomePro.getDomeHomeAz(dTmp); + dx->setPropertyDouble(HOME_POS, "value", dTmp); + + dx->setEnabled(PARK_POS, true); + nErr = m_DomePro.getDomeParkAz(dTmp); + dx->setPropertyDouble(PARK_POS, "value", dTmp); + + dx->setEnabled(SHUTTER_BUTTON, true); + dx->setEnabled(TIMEOUTS_BUTTON, true); + dx->setEnabled(DIAG_BUTTON, true); + + } + else { // not connected, disable all controls + // Az motor + dx->setEnabled(MOTOR_POLARITY, false); + dx->setEnabled(OVER_CURRENT_PROTECTION, false); + + // Az Encoders + dx->setEnabled(TICK_PER_REV, false); + dx->setEnabled(ROTATION_COAST, false); + + dx->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, false); + dx->setEnabled(LEARN_AZIMUTH_CPR_LEFT, false); + dx->setPropertyString(L_CPR_VALUE, "text", ": --"); + dx->setPropertyString(R_CPR_VALUE, "text", ": --"); + + dx->setEnabled(ENCODDER_POLARITY, false); + dx->setEnabled(SET_AZIMUTH_CPR, false); + + dx->setPropertyString(IS_AT_HOME, "text","--"); + + // Homing + dx->setEnabled(HOMING_DIR, false); + dx->setEnabled(HOME_POS, false); + dx->setEnabled(PARK_POS, false); + + dx->setEnabled(SHUTTER_BUTTON, false); + dx->setEnabled(TIMEOUTS_BUTTON, false); + dx->setEnabled(DIAG_BUTTON, false); + + } + + m_nLearningDomeCPR = NONE; + + + //Display the user interface + m_nCurrentDialog = MAIN; + if ((nErr = ui->exec(bPressedOK))) + return nErr; + + //Retreive values from the user interface + if (bPressedOK) + { + if(m_bLinked) + { + // read all controls and set new values + // Az Motor + bTmp = dx->isChecked(MOTOR_POLARITY); + m_DomePro.setDomeAzMotorPolarity(bTmp?POSITIVE:NEGATIVE); + + dx->propertyDouble(OVER_CURRENT_PROTECTION, "value", dTmp); + m_DomePro.setDomeAzimuthOCP_Limit(dTmp); + + // Az Encoders + dx->propertyInt(TICK_PER_REV, "value", nTmp); + m_DomePro.setDomeAzCPR(nTmp); + + dx->propertyDouble(ROTATION_COAST, "value", dTmp); + m_DomePro.setDomeAzCoast(dTmp); + + bTmp = dx->isChecked(ENCODDER_POLARITY); + m_DomePro.setDomeAzEncoderPolarity(bTmp?POSITIVE:NEGATIVE); + + // Homing + nTmp = dx->currentIndex(HOMING_DIR); + m_DomePro.setDomeHomeDirection(nTmp+1); + + dx->propertyDouble(HOME_POS, "value", dTmp); + m_DomePro.setHomeAz(dTmp); + nErr = m_pIniUtil->writeDouble(PARENT_KEY, CHILD_KEY_HOME_AZ, dTmp); + + dx->propertyDouble(PARK_POS, "value", dTmp); + m_DomePro.setParkAz(dTmp); + } + } + return nErr; + +} + +void X2Dome::uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent) +{ + + switch(m_nCurrentDialog) { + case MAIN: + doMainDialogEvents(uiex, pszEvent); + break; + case SHUTTER: + doShutterDialogEvents(uiex, pszEvent); + break; + case TIMEOUTS: + doTimeoutsDialogEvents(uiex, pszEvent); + break; + case DIAG: + doDiagDialogEvents(uiex, pszEvent); + break; + } + + +} +// +// Main setting ui +// + +int X2Dome::doMainDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) +{ + bool bComplete = false; + int nErr = SB_OK; + char szErrorMessage[LOG_BUFFER_SIZE]; + char szTmpBuf[SERIAL_BUFFER_SIZE]; + + int nTmp, nTmp2; + bool bPressedOK = false; + bool bIsAtHome; + + if (!strcmp(pszEvent, "on_pushButtonCancel_clicked") && m_nLearningDomeCPR != NONE) { + m_DomePro.abortCurrentCommand(); + m_nLearningDomeCPR = NONE; + } + + if (!strcmp(pszEvent, "on_timer")) + { + if(m_bLinked) { + switch(m_nLearningDomeCPR) { + case RIGHT: + case LEFT: + // are we still learning CPR ? + bComplete = false; + nErr = m_DomePro.isLearningCPRComplete(bComplete); + if(nErr) { + uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, true); + uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, true); + uiex->setEnabled(BUTTON_OK, true); + snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error learning dome CPR : Error %d", nErr); + uiex->messageBox("DomePro Learn CPR", szErrorMessage); + m_nLearningDomeCPR = NONE; + return nErr; + } + + if(!bComplete) { + return nErr; + } + + // enable "ok" and "Learn Azimuth CPR" + uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, true); + uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, true); + uiex->setEnabled(BUTTON_OK, true); + // read gauged step per rev from dome + switch (m_nLearningDomeCPR) { + case LEFT: + nTmp = m_DomePro.getLeftCPR(); + snprintf(szTmpBuf, SERIAL_BUFFER_SIZE, "%d", nTmp); + uiex->setPropertyString(L_CPR_VALUE, "text", szTmpBuf); + break; + + case RIGHT: + nTmp = m_DomePro.getRightCPR(); + snprintf(szTmpBuf, SERIAL_BUFFER_SIZE, "%d", nTmp); + uiex->setPropertyString(R_CPR_VALUE, "text", szTmpBuf); + break; + default: + break; + } + m_nLearningDomeCPR = NONE; + break; + + case CLEARING_LEFT : + m_DomePro.isDomeAtHome(bIsAtHome); + if(!bIsAtHome) { + m_DomePro.abortCurrentCommand(); + m_DomePro.learnAzimuthCprLeft(); + m_nLearningDomeCPR = LEFT; + } + break; + + case CLEARING_RIGHT : + m_DomePro.isDomeAtHome(bIsAtHome); + if(!bIsAtHome) { + m_DomePro.abortCurrentCommand(); + m_DomePro.learnAzimuthCprRight(); + m_nLearningDomeCPR = RIGHT; + } + break; + + default: + break; + } + } + } + + if (!strcmp(pszEvent, LEARN_AZIMUTH_CPR_RIGHT_CLICKED) ) + { + if(m_bLinked) { + // disable "ok" and "Learn Azimuth CPR" + uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, false); + uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, false); + uiex->setEnabled(BUTTON_OK, false); + m_DomePro.isDomeAtHome(bIsAtHome); + if(bIsAtHome) { + m_DomePro.learnAzimuthCprRight(); + m_nLearningDomeCPR = RIGHT; + } + else { + m_DomePro.setDomeLeftOn(); + m_nLearningDomeCPR = CLEARING_RIGHT; + } + } + } + + if (!strcmp(pszEvent, LEARN_AZIMUTH_CPR_LEFT_CLICKED) ) + { + if(m_bLinked) { + // disable "ok" and "Learn Azimuth CPR" + uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, false); + uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, false); + uiex->setEnabled(BUTTON_OK, false); + m_DomePro.isDomeAtHome(bIsAtHome); + if(bIsAtHome) { + m_DomePro.learnAzimuthCprLeft(); + m_nLearningDomeCPR = LEFT; + } + else { + m_DomePro.setDomeRightOn(); + m_nLearningDomeCPR = CLEARING_LEFT; + } + } + } + + if (!strcmp(pszEvent, SET_CPR_FROM_GAUGED) ) + { + if(m_bLinked) { + nTmp = m_DomePro.getRightCPR(); + if(!nTmp) { + snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error setting dome CPR , right value can't be 0"); + uiex->messageBox("DomePro Set CPR", szErrorMessage); + return nErr; + } + + nTmp2 = m_DomePro.getLeftCPR(); + if(!nTmp) { + snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error setting dome CPR , left value can't be 0"); + uiex->messageBox("DomePro Set CPR", szErrorMessage); + return nErr; + } + nTmp = (int)floor( 0.5 +(nTmp + nTmp2)/2); + nErr = m_DomePro.setDomeAzCPR(nTmp); + if(nErr) { + snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error setting dome CPR : Error %d", nErr); + uiex->messageBox("DomePro Set CPR", szErrorMessage); + return nErr; + } + uiex->setPropertyInt(TICK_PER_REV, "value", nTmp); + } + } + + if (!strcmp(pszEvent, SHUTTER_CKICKED)) + { + setMainDialogControlState(uiex, false); + doDomeProShutter(bPressedOK); + setMainDialogControlState(uiex, true); + } + + if (!strcmp(pszEvent, TIMEOUTS_CKICKED)) + { + setMainDialogControlState(uiex, false); + doDomeProTimeouts(bPressedOK); + setMainDialogControlState(uiex, true); + } + + if (!strcmp(pszEvent, DIAG_CKICKED)) + { + setMainDialogControlState(uiex, false); + doDomeProDiag(bPressedOK); + setMainDialogControlState(uiex, true); + } + + return nErr; +} + +void X2Dome::setMainDialogControlState(X2GUIExchangeInterface* uiex, bool enabeled) +{ + uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, enabeled); + uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, enabeled); + uiex->setEnabled(SET_AZIMUTH_CPR, enabeled); + uiex->setEnabled(SHUTTER_BUTTON, enabeled); + uiex->setEnabled(TIMEOUTS_BUTTON, enabeled); + uiex->setEnabled(DIAG_BUTTON, enabeled); + uiex->setEnabled(BUTTON_OK, enabeled); + uiex->setEnabled(BUTTON_CANCEL, enabeled); + +} + +// +// Shutter settings UI +// +int X2Dome::doDomeProShutter(bool& bPressedOK) +{ + int nErr = SB_OK; + char szTmpBuf[SERIAL_BUFFER_SIZE]; + bool bTmp; + int nTmp; + double dTmp; + + X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); + X2GUIInterface* ui = uiutil.X2UI(); + X2GUIExchangeInterface* dx = NULL; + + bPressedOK = false; + if (NULL == ui) + return ERR_POINTER; + nErr = ui->loadUserInterface("domeshutter.ui", deviceType(), m_nPrivateISIndex); + if (nErr) + return nErr; + + dx = uiutil.X2DX(); + if (NULL == dx) + return ERR_POINTER; + + m_nCurrentDialog = SHUTTER; + // sequencing + if(m_bLinked) { + m_DomePro.getModel(szTmpBuf, SERIAL_BUFFER_SIZE); + dx->setPropertyString(DOMEPRO_MODEL, "text", szTmpBuf); + // sequencing + if(m_DomePro.hasShutterUnit()) { + dx->setEnabled(SINGLE_SHUTTER, true); + m_DomePro.getDomeSingleShutterMode(bTmp); + if(bTmp) { + dx->setEnabled(OPEN_FIRST, false); + dx->setEnabled(CLOSE_FIRST, false); + dx->setEnabled(INHIBIT_SIMULT, false); + + } + else { // 2 shutters + dx->setEnabled(OPEN_FIRST, true); + m_DomePro.getDomeShutterOpenFirst(nTmp); + dx->setCurrentIndex(OPEN_FIRST, nTmp-1); + + dx->setEnabled(CLOSE_FIRST, true); + m_DomePro.getDomeShutterCloseFirst(nTmp); + dx->setCurrentIndex(CLOSE_FIRST, nTmp-1); + + dx->setEnabled(INHIBIT_SIMULT, false); // no corresponding function, need to ping Chris + + dx->setEnabled(SHUTTER_OPERATE_AT_HOME, true); + m_DomePro.getDomeShutOpOnHome(bTmp); + dx->setChecked(SHUTTER_OPERATE_AT_HOME, bTmp); + + dx->setEnabled(HOME_ON_SHUTTER_CLOSE, true); + m_DomePro.getHomeWithShutterClose(bTmp); + dx->setChecked(HOME_ON_SHUTTER_CLOSE, bTmp); + + m_DomePro.getShutter1_LimitFaultCheckEnabled(bTmp); + dx->setChecked(UPPER_SHUTTER_LIMIT_CHECK, bTmp); + m_DomePro.getShutter2_LimitFaultCheckEnabled(bTmp); + dx->setChecked(LOWER_SHUTTER_LIMIT_CHECK, bTmp); + + // shutter angle calibration + if(m_DomePro.getModelType() == CLAMSHELL) { + dx->setPropertyInt(SHUT1_OPEN_ANGLE, "value", m_Shutter1OpenAngle); + dx->setPropertyInt(SHUT1_OPEN_ANGLE_ADC, "value", m_Shutter1OpenAngle_ADC); + + dx->setPropertyInt(SHUT1_CLOSE_ANGLE, "value", m_Shutter1CloseAngle); + dx->setPropertyInt(SHUT1_CLOSE_ANGLE_ADC, "value", m_Shutter1CloseAngle_ADC); + + dx->setPropertyInt(SHUT2_OPEN_ANGLE, "value", m_Shutter2OpenAngle); + dx->setPropertyInt(SHUT2_OPEN_ANGLE_ADC, "value", m_Shutter2OpenAngle_ADC); + + dx->setPropertyInt(SHUT2_CLOSE_ANGLE, "value", m_Shutter2CloseAngle); + dx->setPropertyInt(SHUT2_CLOSE_ANGLE_ADC, "value", m_Shutter2CloseAngle_ADC); + } + else { + dx->setEnabled(SHUT1_OPEN_ANGLE, false); + dx->setEnabled(SHUT1_OPEN_ANGLE_ADC, false); + dx->setEnabled(SHUT1_CLOSE_ANGLE, false); + dx->setEnabled(SHUT1_CLOSE_ANGLE_ADC, false); + dx->setEnabled(SHUT2_OPEN_ANGLE, false); + dx->setEnabled(SHUT2_OPEN_ANGLE_ADC, false); + dx->setEnabled(SHUT2_CLOSE_ANGLE, false); + dx->setEnabled(SHUT2_CLOSE_ANGLE_ADC, false); + } + + m_DomePro.getDomeShutter1_OCP_Limit(dTmp); + dx->setPropertyDouble(SHUTTER1_OCP, "value", dTmp); + m_DomePro.getDomeShutter2_OCP_Limit(dTmp); + dx->setPropertyDouble(SHUTTER2_OCP, "value", dTmp); + } + } + else { // no shutter unit + dx->setChecked(SINGLE_SHUTTER,false); + dx->setEnabled(OPEN_FIRST, false); + dx->setEnabled(CLOSE_FIRST, false); + dx->setEnabled(INHIBIT_SIMULT, false); + dx->setEnabled(SHUTTER_OPERATE_AT_HOME, false); + dx->setEnabled(HOME_ON_SHUTTER_CLOSE, false); + dx->setEnabled(UPPER_SHUTTER_LIMIT_CHECK, false); + dx->setEnabled(LOWER_SHUTTER_LIMIT_CHECK, false); + dx->setEnabled(SHUT1_OPEN_ANGLE, false); + dx->setEnabled(SHUT1_OPEN_ANGLE_ADC, false); + dx->setEnabled(SHUT1_CLOSE_ANGLE, false); + dx->setEnabled(SHUT1_CLOSE_ANGLE_ADC, false); + dx->setEnabled(SHUT2_OPEN_ANGLE, false); + dx->setEnabled(SHUT2_OPEN_ANGLE_ADC, false); + dx->setEnabled(SHUT2_CLOSE_ANGLE, false); + dx->setEnabled(SHUT2_CLOSE_ANGLE_ADC, false); + dx->setEnabled(SHUTTER1_OCP, false); + dx->setEnabled(SHUTTER2_OCP, false); + } + + } else { + dx->setChecked(SINGLE_SHUTTER,false); + dx->setEnabled(OPEN_FIRST, false); + dx->setEnabled(CLOSE_FIRST, false); + dx->setEnabled(INHIBIT_SIMULT, false); + dx->setEnabled(SHUTTER_OPERATE_AT_HOME, false); + dx->setEnabled(HOME_ON_SHUTTER_CLOSE, false); + dx->setEnabled(UPPER_SHUTTER_LIMIT_CHECK, false); + dx->setEnabled(LOWER_SHUTTER_LIMIT_CHECK, false); + dx->setEnabled(SHUT1_OPEN_ANGLE, false); + dx->setEnabled(SHUT1_OPEN_ANGLE_ADC, false); + dx->setEnabled(SHUT1_CLOSE_ANGLE, false); + dx->setEnabled(SHUT1_CLOSE_ANGLE_ADC, false); + dx->setEnabled(SHUT2_OPEN_ANGLE, false); + dx->setEnabled(SHUT2_OPEN_ANGLE_ADC, false); + dx->setEnabled(SHUT2_CLOSE_ANGLE, false); + dx->setEnabled(SHUT2_CLOSE_ANGLE_ADC, false); + dx->setEnabled(SHUTTER1_OCP, false); + dx->setEnabled(SHUTTER2_OCP, false); + } + + nErr = ui->exec(bPressedOK); + if (nErr ) + return nErr; + + //Retreive values from the user interface + if (bPressedOK) + { + if(m_bLinked) + { + // read all controls and set new values + bTmp = dx->isChecked(SINGLE_SHUTTER); + m_DomePro.setDomeSingleShutterMode(bTmp); + + if(!bTmp) { + nTmp = dx->currentIndex(OPEN_FIRST); + m_DomePro.setDomeShutterOpenFirst(nTmp+1); + + nTmp = dx->currentIndex(CLOSE_FIRST); + m_DomePro.setDomeShutterCloseFirst(nTmp+1); + } + + // no command for Inhibit simultaneous shutter motion + + bTmp = dx->isChecked(SHUTTER_OPERATE_AT_HOME); + m_DomePro.setDomeShutOpOnHome(bTmp); + + bTmp = dx->isChecked(HOME_ON_SHUTTER_CLOSE); + m_DomePro.setHomeWithShutterClose(bTmp); + + bTmp = dx->isChecked(UPPER_SHUTTER_LIMIT_CHECK); + m_DomePro.setShutter1_LimitFaultCheckEnabled(bTmp); + + bTmp = dx->isChecked(LOWER_SHUTTER_LIMIT_CHECK); + m_DomePro.setShutter2_LimitFaultCheckEnabled(bTmp); + + dx->propertyInt(SHUT1_OPEN_ANGLE, "value", m_Shutter1OpenAngle); + dx->propertyInt(SHUT1_OPEN_ANGLE_ADC, "value", m_Shutter1OpenAngle_ADC); + dx->propertyInt(SHUT1_CLOSE_ANGLE, "value", m_Shutter1CloseAngle); + dx->propertyInt(SHUT1_CLOSE_ANGLE_ADC, "value", m_Shutter1CloseAngle_ADC); + m_ADC_Ratio1 = (m_Shutter1OpenAngle_ADC - m_Shutter1CloseAngle_ADC) / (m_Shutter1OpenAngle - m_Shutter1CloseAngle); + + dx->propertyInt(SHUT2_OPEN_ANGLE, "value", m_Shutter2OpenAngle); + dx->propertyInt(SHUT2_OPEN_ANGLE_ADC, "value", m_Shutter2OpenAngle_ADC); + dx->propertyInt(SHUT2_CLOSE_ANGLE, "value", m_Shutter2CloseAngle); + dx->propertyInt(SHUT2_CLOSE_ANGLE_ADC, "value", m_Shutter2CloseAngle_ADC); + m_ADC_Ratio2 = (m_Shutter2OpenAngle_ADC - m_Shutter2CloseAngle_ADC) / (m_Shutter2OpenAngle - m_Shutter2CloseAngle); + + m_bShutterGotoEnabled = dx->isChecked(SHUT_ANGLE_GOTO); + + nErr = SB_OK; + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_OPEN_ANGLE, m_Shutter1OpenAngle); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_OPEN_ANGLE_ADC, m_Shutter1OpenAngle_ADC); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_CLOSE_ANGLE, m_Shutter1CloseAngle); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_CLOSE_ANGLE_ADC, m_Shutter1CloseAngle_ADC); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_OPEN_ANGLE, m_Shutter2OpenAngle); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_OPEN_ANGLE_ADC, m_Shutter2OpenAngle_ADC); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_CLOSE_ANGLE, m_Shutter2CloseAngle); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_CLOSE_ANGLE_ADC, m_Shutter2CloseAngle_ADC); + nErr |= m_pIniUtil->writeInt(PARENT_KEY, CHILD_KEY_SHUTTER_GOTO, m_bShutterGotoEnabled); + + + dx->propertyDouble(SHUTTER1_OCP, "value", dTmp); + m_DomePro.setDomeShutter1_OCP_Limit(dTmp); + + dx->propertyDouble(SHUTTER2_OCP, "value", dTmp); + m_DomePro.setDomeShutter2_OCP_Limit(dTmp); + } + } + + m_nCurrentDialog = MAIN; + return nErr; + +} + +// +// Shutter settings ui events +// +int X2Dome::doShutterDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) +{ + int nErr = SB_OK; + + if (!strcmp(pszEvent, CLEAR_LIMIT_FAULT_CLICKED)) + m_DomePro.clearDomeLimitFault(); + return nErr; +} + +// +// Dome timeout and automatic closure UI +// +int X2Dome::doDomeProTimeouts(bool& bPressedOK) +{ + int nErr = SB_OK; + int nTmp; + bool bTmp; + + X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); + X2GUIInterface* ui = uiutil.X2UI(); + X2GUIExchangeInterface* dx = NULL; + + bPressedOK = false; + if (NULL == ui) + return ERR_POINTER; + nErr = ui->loadUserInterface("dometimeouts.ui", deviceType(), m_nPrivateISIndex); + if (nErr) + return nErr; + + dx = uiutil.X2DX(); + if (NULL == dx) + return ERR_POINTER; + + m_nCurrentDialog = TIMEOUTS; + if(m_bLinked) { + // Az timout + dx->setEnabled(AZ_TIMEOUT_EN, true); + m_DomePro.getDomeAzimuthTimeOutEnabled(bTmp); + dx->setChecked(AZ_TIMEOUT_EN, bTmp); + + dx->setEnabled(AZ_TIMEOUT_VAL, true); + m_DomePro.getDomeAzimuthTimeOut(nTmp); + dx->setPropertyInt(AZ_TIMEOUT_VAL, "value", nTmp); + + dx->setEnabled(FIST_SHUTTER_TIMEOUT_VAL, true); + m_DomePro.getDomeShutter1_OpTimeOut(nTmp); + dx->setPropertyInt(FIST_SHUTTER_TIMEOUT_VAL, "value", nTmp); + + dx->setEnabled(SECOND_SHUTTER_TIMEOUT_VAL, true); + m_DomePro.getDomeShutter2_OpTimeOut(nTmp); + dx->setPropertyInt(SECOND_SHUTTER_TIMEOUT_VAL, "value", nTmp); + + dx->setEnabled(OPPOSITE_DIR_TIMEOUT, true); + m_DomePro.getDomeShutODirTimeOut(nTmp); + dx->setPropertyInt(OPPOSITE_DIR_TIMEOUT, "value", nTmp); + + dx->setEnabled(CLOSE_NO_COMM, true); + m_DomePro.getDomeShutCloseOnClientTimeOut(bTmp); + dx->setChecked(CLOSE_NO_COMM, bTmp); + + dx->setEnabled(CLOSE_NO_COMM_VAL, true); + m_DomePro.getDomeShutCloseClientTimeOut(nTmp); + dx->setPropertyInt(CLOSE_NO_COMM_VAL, "value", nTmp); + + dx->setEnabled(CLOSE_ON_RADIO_TIMEOUT, true); + m_DomePro.getDomeShutCloseOnLinkTimeOut(bTmp); + dx->setChecked(CLOSE_ON_RADIO_TIMEOUT, bTmp); + + dx->setEnabled(CLOSE_ON_POWER_FAIL, true); + m_DomePro.getShutterAutoCloseEnabled(bTmp); + dx->setChecked(CLOSE_ON_POWER_FAIL, bTmp); + + } else { + dx->setEnabled(AZ_TIMEOUT_EN, false); + dx->setEnabled(AZ_TIMEOUT_VAL, false); + dx->setEnabled(FIST_SHUTTER_TIMEOUT_VAL, false); + dx->setEnabled(SECOND_SHUTTER_TIMEOUT_VAL, false); + dx->setEnabled(OPPOSITE_DIR_TIMEOUT, false); + dx->setEnabled(CLOSE_NO_COMM, false); + dx->setEnabled(CLOSE_NO_COMM_VAL, false); + dx->setEnabled(CLOSE_ON_RADIO_TIMEOUT, false); + dx->setEnabled(CLOSE_ON_POWER_FAIL, false); + } + + nErr = ui->exec(bPressedOK); + if (nErr ) + return nErr; + + //Retreive values from the user interface + if (bPressedOK) + { + if(m_bLinked) + { + bTmp = dx->isChecked(AZ_TIMEOUT_EN); + m_DomePro.setDomeAzimuthTimeOutEnabled(bTmp); + dx->propertyInt(AZ_TIMEOUT_VAL, "value", nTmp); + m_DomePro.setDomeAzimuthTimeOut(nTmp); + + dx->propertyInt(FIST_SHUTTER_TIMEOUT_VAL, "value", nTmp); + m_DomePro.setDomeShutter1_OpTimeOut(nTmp); + + dx->propertyInt(SECOND_SHUTTER_TIMEOUT_VAL, "value", nTmp); + m_DomePro.setDomeShutter2_OpTimeOut(nTmp); + + dx->propertyInt(OPPOSITE_DIR_TIMEOUT, "value", nTmp); + m_DomePro.setDomeShutODirTimeOut(nTmp); + + bTmp = dx->isChecked(CLOSE_NO_COMM); + m_DomePro.setDomeShutCloseOnClientTimeOut(bTmp); + + dx->propertyInt(CLOSE_NO_COMM_VAL, "value", nTmp); + m_DomePro.setDomeShutCloseClientTimeOut(nTmp); + + bTmp = dx->isChecked(CLOSE_ON_RADIO_TIMEOUT); + m_DomePro.setDomeShutCloseOnLinkTimeOut(bTmp); + + bTmp = dx->isChecked(CLOSE_ON_POWER_FAIL); + m_DomePro.setShutterAutoCloseEnabled(bTmp); + + } + } + + m_nCurrentDialog = MAIN; + return nErr; + +} +// +// Timeouts ui events +// +int X2Dome::doTimeoutsDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) +{ + int nErr = SB_OK; + return nErr; +} + +int X2Dome::doDomeProDiag(bool& bPressedOK) +{ + int nErr = SB_OK; + X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); + X2GUIInterface* ui = uiutil.X2UI(); + X2GUIExchangeInterface* dx = NULL; + double dTmp; + int nTmp; + int nCPR; + char szBuffer[SERIAL_BUFFER_SIZE]; + + bPressedOK = false; + if (NULL == ui) + return ERR_POINTER; + nErr = ui->loadUserInterface("domeprodiag.ui", deviceType(), m_nPrivateISIndex); + if (nErr) + return nErr; + + dx = uiutil.X2DX(); + if (NULL == dx) + return ERR_POINTER; + + m_nCurrentDialog = DIAG; + + if(m_bLinked) { + m_DomePro.getDomeSupplyVoltageAzimuthL(dTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f V", dTmp); + dx->setText(AZ_SUPPLY_VOLTAGE, szBuffer); + + m_DomePro.getDomeAzimuthMotorADC(dTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f A", dTmp); + dx->setText(AZ_MOTOR_CURRENT, szBuffer); + + m_DomePro.getDomeAzimuthTempADC(dTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f ºC", dTmp); + dx->setText(AZ_TEMP, szBuffer); + + m_DomePro.getDomeAzDiagPosition(nTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); + dx->setText(AZ_DIAG_COUNT, szBuffer); + + m_DomePro.getDomeAzCPR(nCPR); + dTmp = (nTmp * 360.0 / nCPR); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2fº", dTmp); + dx->setText(AZ_DIAG_DEG, szBuffer); + + m_DomePro.getDomeSupplyVoltageShutterL(dTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f V", dTmp); + dx->setText(SHUT_SUPPLY_VOLTAGE, szBuffer); + + m_DomePro.getDomeShutterMotorADC(dTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f A", dTmp); + dx->setText(SHUT_SUPPLY_CURRENT, szBuffer); + + m_DomePro.getDomeShutterTempADC(dTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f ºC", dTmp); + dx->setText(SHUT_TEMPERATURE, szBuffer); + + m_DomePro.getDomeLinkErrCnt(nTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); + dx->setText(NB_REF_LINK_ERROR, szBuffer); + } + else { + + } + + nErr = ui->exec(bPressedOK); + if (nErr ) + return nErr; + + m_nCurrentDialog = MAIN; + return nErr; +} + +// +// diag ui events +// +int X2Dome::doDiagDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) +{ + int nErr = SB_OK; + char szBuffer[SERIAL_BUFFER_SIZE]; + double dTmp; + int nTmp; + int nCPR; + + + if (!strcmp(pszEvent, CLEAR_DIAG_COUNT_CLICKED) || !strcmp(pszEvent, CLEAR_DIAG_DEG_CLICKED)) { + nErr = m_DomePro.clearDomeAzDiagPosition(); + nErr |= m_DomePro.getDomeAzDiagPosition(nTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); + uiex->setText(AZ_DIAG_COUNT, szBuffer); + + nErr |= m_DomePro.getDomeAzCPR(nCPR); + dTmp = (nTmp * 360.0 / nCPR); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2fº", dTmp); + uiex->setText(AZ_DIAG_DEG, szBuffer); + + } + + if (!strcmp(pszEvent, CLEAR_RFLINK_ERRORS_CLICKED)) { + nErr = m_DomePro.clearDomeLinkErrCnt(); + nErr |= m_DomePro.getDomeLinkErrCnt(nTmp); + snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); + uiex->setText(NB_REF_LINK_ERROR, szBuffer); + } + + return nErr; +} + + + + +// +//HardwareInfoInterface +// +#pragma mark - HardwareInfoInterface + +void X2Dome::deviceInfoNameShort(BasicStringInterface& str) const +{ + str = "DomePro"; +} + +void X2Dome::deviceInfoNameLong(BasicStringInterface& str) const +{ + str = "Astrometric Instruments DomePro"; +} + +void X2Dome::deviceInfoDetailedDescription(BasicStringInterface& str) const +{ + str = "Astrometric Instruments DomePro"; +} + + void X2Dome::deviceInfoFirmwareVersion(BasicStringInterface& str) +{ + X2MutexLocker ml(GetMutex()); + if(m_bLinked) { + char cFirmware[SERIAL_BUFFER_SIZE]; + m_DomePro.getFirmwareVersion(cFirmware, SERIAL_BUFFER_SIZE); + str = cFirmware; + + } + else + str = "N/A"; +} + +void X2Dome::deviceInfoModel(BasicStringInterface& str) +{ + X2MutexLocker ml(GetMutex()); + if(m_bLinked) { + char cModel[SERIAL_BUFFER_SIZE]; + m_DomePro.getModel(cModel, SERIAL_BUFFER_SIZE); + str = cModel; + } + else + str = "N/A"; +} + +// +//DriverInfoInterface +// +#pragma mark - DriverInfoInterface + + void X2Dome::driverInfoDetailedInfo(BasicStringInterface& str) const +{ + str = "Astrometric Instruments DomePro X2 plugin by Rodolphe Pineau"; +} + +double X2Dome::driverInfoVersion(void) const +{ + return DRIVER_VERSION; +} + +// +//DomeDriverInterface +// +#pragma mark - DomeDriverInterface + +int X2Dome::dapiGetAzEl(double* pdAz, double* pdEl) +{ + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + *pdAz = m_DomePro.getCurrentAz(); + *pdEl = m_DomePro.getCurrentEl(); + return SB_OK; +} + +int X2Dome::dapiGotoAzEl(double dAz, double dEl) +{ + int nErr = SB_OK; + + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.gotoAzimuth(dAz); + if(nErr) + return ERR_CMDFAILED; + + if(m_bShutterGotoEnabled) + nErr = m_DomePro.gotoElevation(dEl); + + return nErr; +} + +int X2Dome::dapiAbort(void) +{ + + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + m_DomePro.abortCurrentCommand(); + + return SB_OK; +} + +int X2Dome::dapiOpen(void) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + if(!m_bHasShutterControl) + return SB_OK; + + nErr = m_DomePro.openDomeShutters(); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiClose(void) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + if(!m_bHasShutterControl) + return SB_OK; + + nErr = m_DomePro.CloseDomeShutters(); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiPark(void) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.gotoDomePark(); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiUnpark(void) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.unparkDome(); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiFindHome(void) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.goHome(); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiIsGotoComplete(bool* pbComplete) +{ + int nErr; + bool bAzGotoDone, bElGotoDone = false; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.isGoToComplete(bAzGotoDone); + if(nErr) + return ERR_CMDFAILED; + + *pbComplete = bAzGotoDone; + + if(m_bShutterGotoEnabled) { + nErr = m_DomePro.isGoToElComplete(bElGotoDone); + if(nErr) + return ERR_CMDFAILED; + *pbComplete = bAzGotoDone & bElGotoDone; + } + + return SB_OK; +} + +int X2Dome::dapiIsOpenComplete(bool* pbComplete) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + if(!m_bHasShutterControl) + { + *pbComplete = true; + return SB_OK; + } + + nErr = m_DomePro.isOpenComplete(*pbComplete); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiIsCloseComplete(bool* pbComplete) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + if(!m_bHasShutterControl) + { + *pbComplete = true; + return SB_OK; + } + + nErr = m_DomePro.isCloseComplete(*pbComplete); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiIsParkComplete(bool* pbComplete) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.isParkComplete(*pbComplete); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiIsUnparkComplete(bool* pbComplete) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.isUnparkComplete(*pbComplete); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiIsFindHomeComplete(bool* pbComplete) +{ + int nErr; + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.isFindHomeComplete(*pbComplete); + if(nErr) + return ERR_CMDFAILED; + + return SB_OK; +} + +int X2Dome::dapiSync(double dAz, double dEl) +{ + int nErr; + + X2MutexLocker ml(GetMutex()); + + if(!m_bLinked) + return ERR_NOLINK; + + nErr = m_DomePro.syncDome(dAz, dEl); + if(nErr) + return ERR_CMDFAILED; + return SB_OK; +} + +// +// SerialPortParams2Interface +// +#pragma mark - SerialPortParams2Interface + +void X2Dome::portName(BasicStringInterface& str) const +{ + char szPortName[DRIVER_MAX_STRING]; + + portNameOnToCharPtr(szPortName, DRIVER_MAX_STRING); + + str = szPortName; + +} + +void X2Dome::setPortName(const char* pszPort) +{ + if (m_pIniUtil) + m_pIniUtil->writeString(PARENT_KEY, CHILD_KEY_PORTNAME, pszPort); + +} + + +void X2Dome::portNameOnToCharPtr(char* pszPort, const int& nMaxSize) const +{ + if (NULL == pszPort) + return; + + snprintf(pszPort, nMaxSize,DEF_PORT_NAME); + + if (m_pIniUtil) + m_pIniUtil->readString(PARENT_KEY, CHILD_KEY_PORTNAME, pszPort, pszPort, nMaxSize); + +} + + + diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h new file mode 100644 index 0000000..a7e5be9 --- /dev/null +++ b/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h @@ -0,0 +1,204 @@ +// +// X2Dome Declaration +// + +#include +#include + +#include "licensedinterfaces/sberrorx.h" +#include "licensedinterfaces/basicstringinterface.h" +#include "licensedinterfaces/serxinterface.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" +#include "licensedinterfaces/tickcountinterface.h" +#include "licensedinterfaces/serialportparams2interface.h" +#include "licensedinterfaces/domedriverinterface.h" +#include "licensedinterfaces/serialportparams2interface.h" +#include "licensedinterfaces/modalsettingsdialoginterface.h" +#include "licensedinterfaces/x2guiinterface.h" + +#include "domepro.h" +#include "UI_map.h" + +#define DRIVER_VERSION 1.0 + +#define PARENT_KEY "DomePro" +#define CHILD_KEY_PORTNAME "PortName" +#define CHILD_KEY_TICKS_PER_REV "NbTicksPerRev" +#define CHILD_KEY_HOME_AZ "HomeAzimuth" +#define CHILD_KEY_PARK_AZ "ParkAzimuth" +#define CHILD_KEY_SHUTTER_CONTROL "ShutterCtrl" +#define CHILD_KEY_SHUTTER_OPEN_UPPER_ONLY "ShutterOpenUpperOnly" +#define CHILD_KEY_ROOL_OFF_ROOF "RollOffRoof" +#define CHILD_KEY_SHUTTER_OPER_ANY_Az "ShutterOperAnyAz" + +#define CHILD_KEY_SHUTTER1_OPEN_ANGLE "Shutter1OpenAngle" +#define CHILD_KEY_SHUTTER1_OPEN_ANGLE_ADC "Shutter1OpenAngleADC" +#define CHILD_KEY_SHUTTER1_CLOSE_ANGLE "Shutter1CloseAngle" +#define CHILD_KEY_SHUTTER1_CLOSE_ANGLE_ADC "Shutter1CloseAngleADC" + +#define CHILD_KEY_SHUTTER2_OPEN_ANGLE "Shutter2OpenAngle" +#define CHILD_KEY_SHUTTER2_OPEN_ANGLE_ADC "Shutter2OpenAngleADC" +#define CHILD_KEY_SHUTTER2_CLOSE_ANGLE "Shutter2CloseAngle" +#define CHILD_KEY_SHUTTER2_CLOSE_ANGLE_ADC "Shutter2CloseAngleADC" + +#define CHILD_KEY_SHUTTER_GOTO "ShutterGotoEnabled" + +#if defined(SB_WIN_BUILD) +#define DEF_PORT_NAME "COM1" +#elif defined(SB_MAC_BUILD) +#define DEF_PORT_NAME "/dev/cu.KeySerial1" +#elif defined(SB_LINUX_BUILD) +#define DEF_PORT_NAME "/dev/COM0" +#endif + +#define LOG_BUFFER_SIZE 256 + +enum DIALOGS {MAIN, SHUTTER, TIMEOUTS, DIAG }; + +class X2Dome: public DomeDriverInterface, public SerialPortParams2Interface, public ModalSettingsDialogInterface, public X2GUIEventInterface +{ +public: + + /*!Standard X2 constructor*/ + X2Dome( const char* pszSelectionString, + const int& nISIndex, + SerXInterface* pSerX, + TheSkyXFacadeForDriversInterface* pTheSkyXForMounts, + SleeperInterface* pSleeper, + BasicIniUtilInterface* pIniUtil, + LoggerInterface* pLogger, + MutexInterface* pIOMutex, + TickCountInterface* pTickCount); + 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 ; + //@} + + virtual int initModalSettingsDialog(void){return 0;} + virtual int execModalSettingsDialog(void); + + /*!\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); + + //SerialPortParams2Interface + virtual void portName(BasicStringInterface& str) const ; + virtual void setPortName(const char* szPort) ; + virtual unsigned int baudRate() const {return 115200;}; + virtual void setBaudRate(unsigned int) {}; + virtual bool isBaudRateFixed() const {return true;} + + virtual SerXInterface::Parity parity() const {return SerXInterface::B_NOPARITY;} + virtual void setParity(const SerXInterface::Parity& parity){parity;}; + virtual bool isParityFixed() const {return true;} + + + + virtual void uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent); + +private: + + SerXInterface * GetSerX() {return m_pSerX; } + TheSkyXFacadeForDriversInterface * GetTheSkyXFacadeForDrivers() {return m_pTheSkyXFacadeForDriversInterface;} + 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_pTheSkyXFacadeForDriversInterface; + SleeperInterface * m_pSleeper; + BasicIniUtilInterface * m_pIniUtil; + LoggerInterface * m_pLogger; + MutexInterface * m_pIOMutex; + TickCountInterface * m_pTickCount; + + int doMainDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); + + int doDomeProShutter(bool& bPressedOK); + int doShutterDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); + + int doDomeProTimeouts(bool& bPressedOK); + int doTimeoutsDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); + + int doDomeProDiag(bool& bPressedOK); + int doDiagDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); + + void setMainDialogControlState(X2GUIExchangeInterface* uiex, bool enabeled); + + void portNameOnToCharPtr(char* pszPort, const int& nMaxSize) const; + + + int m_nPrivateISIndex; + bool m_bLinked; + CDomePro m_DomePro; + bool m_bHasShutterControl; + bool m_bOpenUpperShutterOnly; + int m_nLearningDomeCPR; + int m_bBattRequest; + int m_nCurrentDialog; + + int m_Shutter1OpenAngle; + int m_Shutter1OpenAngle_ADC; + int m_Shutter1CloseAngle; + int m_Shutter1CloseAngle_ADC; + double m_ADC_Ratio1; + + int m_Shutter2OpenAngle; + int m_Shutter2OpenAngle_ADC; + int m_Shutter2CloseAngle; + int m_Shutter2CloseAngle_ADC; + double m_ADC_Ratio2; + + bool m_bShutterGotoEnabled; + + +}; From 1cbfe111884cecf530533c4d10bae8bd84928302 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:44:43 +1000 Subject: [PATCH 03/13] simple grpc client/server implementations/tests --- .../example_grpc_code/X2_client_test/Makefile | 62 + .../example_grpc_code/X2_client_test/test.cpp | 41 + .../example_grpc_code/simple_client/Makefile | 46 + .../simple_client/generate_grpc_cpp_code.sh | 31 + .../generate_grpc_python_code.sh | 19 + .../simple_client/hx2dome.grpc.pb.cc | 721 ++++ .../simple_client/hx2dome.grpc.pb.h | 3111 +++++++++++++++++ .../simple_client/hx2dome.pb.cc | 1441 ++++++++ .../simple_client/hx2dome.pb.h | 730 ++++ .../simple_client/hx2dome.proto | 57 + .../simple_client/hx2dome.proto_client.cc | 97 + .../simple_client/hx2dome.proto_client.py | 38 + .../simple_client/hx2dome.proto_server.py | 40 + .../simple_client/hx2dome_pb2.py | 405 +++ .../simple_client/hx2dome_pb2_grpc.py | 370 ++ .../simple_client_v2/Makefile | 49 + .../generate_grpc_cpp_code.sh | 31 + .../generate_grpc_python_code.sh | 19 + .../simple_client_v2/hx2dome.grpc.pb.cc | 721 ++++ .../simple_client_v2/hx2dome.grpc.pb.h | 3111 +++++++++++++++++ .../simple_client_v2/hx2dome.pb.cc | 1441 ++++++++ .../simple_client_v2/hx2dome.pb.h | 730 ++++ .../simple_client_v2/hx2dome.proto | 57 + .../simple_client_v2/hx2dome.proto_client.cc | 34 + .../simple_client_v2/hx2dome.proto_client.h | 32 + .../simple_client_v2/hx2dome.proto_client.py | 38 + .../simple_client_v2/hx2dome.proto_server.py | 40 + .../simple_client_v2/hx2dome_pb2.py | 405 +++ .../simple_client_v2/hx2dome_pb2_grpc.py | 370 ++ .../simple_client_v2/main.cpp | 20 + 30 files changed, 14307 insertions(+) create mode 100644 domehunter/protos/example_grpc_code/X2_client_test/Makefile create mode 100644 domehunter/protos/example_grpc_code/X2_client_test/test.cpp create mode 100644 domehunter/protos/example_grpc_code/simple_client/Makefile create mode 100755 domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh create mode 100755 domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.cc create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2.py create mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2_grpc.py create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/Makefile create mode 100755 domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh create mode 100755 domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.cc create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2.py create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py create mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/main.cpp diff --git a/domehunter/protos/example_grpc_code/X2_client_test/Makefile b/domehunter/protos/example_grpc_code/X2_client_test/Makefile new file mode 100644 index 0000000..8fd2e92 --- /dev/null +++ b/domehunter/protos/example_grpc_code/X2_client_test/Makefile @@ -0,0 +1,62 @@ +# +# Copyright 2015 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +HOST_SYSTEM = $(shell uname | cut -f 1 -d_) +SYSTEM ?= $(HOST_SYSTEM) +CXX = g++ +CPPFLAGS += `pkg-config --cflags protobuf grpc` +CXXFLAGS += -std=c++11 +ifeq ($(SYSTEM),Darwin) +LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ + -lgrpc++_reflection\ + -ldl +else +LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ + -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\ + -ldl +endif +PROTOC = protoc +GRPC_CPP_PLUGIN = grpc_cpp_plugin +GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)` +PROTO_PATH1 = /usr/local/include/google/protobuf/ +PROTO_PATH2 = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto + +# PROTOS_PATH = ../../protos +PROTOS_PATH = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/ + +vpath %.proto $(PROTOS_PATH) + + +all: test + +test: hx2dome.pb.o hx2dome.grpc.pb.o x2dome.o test.o + $(CXX) $^ $(LDFLAGS) -o $@ + +hx2dome.grpc.pb.o: ../../src/hx2dome.grpc.pb.cpp + $(CXX) $^ $(LDFLAGS) -c + +hx2dome.pb.o: ../../src/hx2dome.pb.cpp + $(CXX) $^ $(LDFLAGS) -c + +x2dome.o: ../../src/x2dome.cpp + $(CXX) $^ $(LDFLAGS) -c + +test.o: test.cpp + $(CXX) $^ $(LDFLAGS) -c + + +clean: + rm -f *.o test diff --git a/domehunter/protos/example_grpc_code/X2_client_test/test.cpp b/domehunter/protos/example_grpc_code/X2_client_test/test.cpp new file mode 100644 index 0000000..7dd4614 --- /dev/null +++ b/domehunter/protos/example_grpc_code/X2_client_test/test.cpp @@ -0,0 +1,41 @@ +#include +#include +#include +#include + +#include "../../src/x2dome.h" + + +int main(int argc, char** argv) { + + // create a bunch of null pointers to feed into an X2Dome instance + const char *pszSelection=NULL; + const int &nInstanceIndex=1; + SerXInterface *pSerXIn=NULL; + TheSkyXFacadeForDriversInterface *pTheSkyXIn=NULL; + SleeperInterface *pSleeperIn=NULL; + BasicIniUtilInterface *pIniUtilIn=NULL; + LoggerInterface *pLoggerIn=NULL; + MutexInterface *pIOMutexIn=NULL; + TickCountInterface *pTickCountIn=NULL; + + // create an X2Dome with a grpc channel/stub + X2Dome testDome( pszSelection, + nInstanceIndex, + pSerXIn, + pTheSkyXIn, + pSleeperIn, + pIniUtilIn, + pLoggerIn, + pIOMutexIn, + pTickCountIn, + grpc::CreateChannel("localhost:50051", grpc::InsecureChannelCredentials()) ); + + // using the X2Dome establishLink() member function to test the connection + int result; + result = testDome.establishLink(); + // + //std::cout << "HX2Dome received: " << result << std::endl; + + return 0; +} diff --git a/domehunter/protos/example_grpc_code/simple_client/Makefile b/domehunter/protos/example_grpc_code/simple_client/Makefile new file mode 100644 index 0000000..4886cc9 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/Makefile @@ -0,0 +1,46 @@ +HOST_SYSTEM = $(shell uname | cut -f 1 -d_) +SYSTEM ?= $(HOST_SYSTEM) +CXX = g++ +CPPFLAGS += `pkg-config --cflags protobuf grpc` + +LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ + -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\ + -ldl + +PROTOC = protoc +GRPC_CPP_PLUGIN = grpc_cpp_plugin +GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)` +PROTO_PATH1 = /usr/local/include/google/protobuf/ +PROTO_PATH2 = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto + +# PROTOS_PATH = ../../protos +PROTOS_PATH = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/ + +vpath %.proto $(PROTOS_PATH) + + +all: hx2dome.proto_client + +hx2dome.proto_client: hx2dome.pb.o hx2dome.grpc.pb.o hx2dome.proto_client.o + $(CXX) $^ $(LDFLAGS) -o $@ + +hx2dome.grpc.pb.o: hx2dome.grpc.pb.cc + $(CXX) $^ $(LDFLAGS) -c + +hx2dome.pb.o: hx2dome.pb.cc + $(CXX) $^ $(LDFLAGS) -c + +hx2dome.proto_client.o: hx2dome.proto_client.cc + $(CXX) $^ $(LDFLAGS) -c + + +.PRECIOUS: %.grpc.pb.cc +hx2dome.grpc.pb.cc: hx2dome.proto + $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --proto_path=$(PROTO_PATH1) $(PROTO_PATH2) --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) + +.PRECIOUS: %.pb.cc +hx2dome.pb.cc: hx2dome.proto + $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $< + +clean: + rm -f *.o hx2dome.proto_client diff --git a/domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh b/domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh new file mode 100755 index 0000000..4345930 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +if [ "$1" == "clean" ]; then + rm x2dome.proto_client + rm *.grpc.pb.* + rm *.pb.* + rm *.o +else + HDOME_PATH="$HOME/Documents/REPOS" + PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/" + PROTO_PATH1="/usr/local/include/google/protobuf/" + PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/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=. 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 "Running Makefile.\n" + make + + echo -e "Cleaning out object files.\n" + rm *.o + + echo -e "Done.\n" +fi diff --git a/domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh b/domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh new file mode 100755 index 0000000..e579910 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ "$1" == "clean" ]; then + rm *pb2_grpc.py + rm *pb2.py +else + HDOME_PATH="$HOME/Documents/REPOS" + PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/" + PROTO_PATH1="/usr/local/include/google/protobuf/" + PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/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 "Done.\n" +fi diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc b/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc new file mode 100644 index 0000000..5e0e44e --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc @@ -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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::Empty, ::hx2dome::BasicString>( + std::mem_fn(&HX2Dome::Service::deviceInfoModel), this))); +} + +HX2Dome::Service::~Service() { +} + +::grpc::Status HX2Dome::Service::dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace hx2dome + diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h b/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h new file mode 100644 index 0000000..ffea142 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiAbortRaw(context, request, cq)); + } + ::grpc::Status dapiOpen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiOpenRaw(context, request, cq)); + } + ::grpc::Status dapiClose(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiCloseRaw(context, request, cq)); + } + ::grpc::Status dapiPark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiParkRaw(context, request, cq)); + } + ::grpc::Status dapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiUnparkRaw(context, request, cq)); + } + ::grpc::Status dapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiFindHomeRaw(context, request, cq)); + } + ::grpc::Status dapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiGotoCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiOpenCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiCloseCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiParkCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiUnparkCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameShortRaw(context, request, cq)); + } + ::grpc::Status deviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameLongRaw(context, request, cq)); + } + ::grpc::Status deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); + } + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); + } + ::grpc::Status deviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGetAzEl(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiAbort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpen(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiClose(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiPark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnpark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHome(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGotoComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpenComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiCloseComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiParkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnparkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHomeComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameShort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameLong(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoDetailedDescription(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoFirmwareVersion(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoModel(::grpc::ServerContext* context, ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::AzEl>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiAbort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiClose(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiPark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameShort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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/example_grpc_code/simple_client/hx2dome.pb.cc b/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.cc new file mode 100644 index 0000000..0ff010b --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.cc @@ -0,0 +1,1441 @@ +// 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_; +} // 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}, {}}; + +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::Metadata file_level_metadata_hx2dome_2eproto[4]; +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_), +}; +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)}, +}; + +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_), +}; + +::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, 4, file_level_enum_descriptors_hx2dome_2eproto, file_level_service_descriptors_hx2dome_2eproto, +}; + +const char descriptor_table_protodef_hx2dome_2eproto[] = + "\n\rhx2dome.proto\022\007hx2dome\032\033google/protobu" + "f/empty.proto\"!\n\nReturnCode\022\023\n\013return_co" + "de\030\001 \001(\005\"3\n\004AzEl\022\023\n\013return_code\030\001 \001(\005\022\n\n" + "\002az\030\002 \001(\001\022\n\n\002el\030\003 \001(\001\"6\n\nIsComplete\022\023\n\013r" + "eturn_code\030\001 \001(\005\022\023\n\013is_complete\030\002 \001(\010\"#\n" + "\013BasicString\022\024\n\014basic_string\030\001 \001(\t2\232\n\n\007H" + "X2Dome\0226\n\013dapiGetAzEl\022\026.google.protobuf." + "Empty\032\r.hx2dome.AzEl\"\000\0224\n\014dapiGotoAzEl\022\r" + ".hx2dome.AzEl\032\023.hx2dome.ReturnCode\"\000\022:\n\t" + "dapiAbort\022\026.google.protobuf.Empty\032\023.hx2d" + "ome.ReturnCode\"\000\0229\n\010dapiOpen\022\026.google.pr" + "otobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022:\n\td" + "apiClose\022\026.google.protobuf.Empty\032\023.hx2do" + "me.ReturnCode\"\000\0229\n\010dapiPark\022\026.google.pro" + "tobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022;\n\nda" + "piUnpark\022\026.google.protobuf.Empty\032\023.hx2do" + "me.ReturnCode\"\000\022=\n\014dapiFindHome\022\026.google" + ".protobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022A" + "\n\020dapiGotoComplete\022\026.google.protobuf.Emp" + "ty\032\023.hx2dome.IsComplete\"\000\022A\n\020dapiOpenCom" + "plete\022\026.google.protobuf.Empty\032\023.hx2dome." + "IsComplete\"\000\022B\n\021dapiCloseComplete\022\026.goog" + "le.protobuf.Empty\032\023.hx2dome.IsComplete\"\000" + "\022A\n\020dapiParkComplete\022\026.google.protobuf.E" + "mpty\032\023.hx2dome.IsComplete\"\000\022C\n\022dapiUnpar" + "kComplete\022\026.google.protobuf.Empty\032\023.hx2d" + "ome.IsComplete\"\000\022E\n\024dapiFindHomeComplete" + "\022\026.google.protobuf.Empty\032\023.hx2dome.IsCom" + "plete\"\000\0220\n\010dapiSync\022\r.hx2dome.AzEl\032\023.hx2" + "dome.ReturnCode\"\000\022E\n\023deviceInfoNameShort" + "\022\026.google.protobuf.Empty\032\024.hx2dome.Basic" + "String\"\000\022D\n\022deviceInfoNameLong\022\026.google." + "protobuf.Empty\032\024.hx2dome.BasicString\"\000\022O" + "\n\035deviceInfoDetailedDescription\022\026.google" + ".protobuf.Empty\032\024.hx2dome.BasicString\"\000\022" + "K\n\031deviceInfoFirmwareVersion\022\026.google.pr" + "otobuf.Empty\032\024.hx2dome.BasicString\"\000\022A\n\017" + "deviceInfoModel\022\026.google.protobuf.Empty\032" + "\024.hx2dome.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, 1551, +}; + +void AddDescriptors_hx2dome_2eproto() { + static constexpr ::google::protobuf::internal::InitFunc deps[1] = + { + ::AddDescriptors_google_2fprotobuf_2fempty_2eproto, + }; + ::google::protobuf::internal::AddDescriptors(&descriptor_table_hx2dome_2eproto, deps, 1); +} + +// 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]; +} + + +// @@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); +} +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) +#include diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h b/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h new file mode 100644 index 0000000..d8bb003 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h @@ -0,0 +1,730 @@ +// 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 +#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[4] + 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 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::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; +}; +// =================================================================== + + +// =================================================================== + +#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) +} + +#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/example_grpc_code/simple_client/hx2dome.proto b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto new file mode 100644 index 0000000..c20d4b6 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto @@ -0,0 +1,57 @@ +// 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 (google.protobuf.Empty) returns (AzEl) {}; + rpc dapiGotoAzEl (AzEl) returns (ReturnCode) {}; + rpc dapiAbort (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiOpen (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiClose (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiPark (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiUnpark (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiFindHome (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiGotoComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiOpenComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiCloseComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiParkComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiUnparkComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiFindHomeComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiSync (AzEl) returns (ReturnCode) {}; + // Hardware Info Interface + rpc deviceInfoNameShort (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoNameLong (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoDetailedDescription (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoFirmwareVersion (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoModel (google.protobuf.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; +} diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc new file mode 100644 index 0000000..5320cb3 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc @@ -0,0 +1,97 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include +#include +#include + +#include + +#ifdef BAZEL_BUILD +#include "/home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h" +#else +#include "hx2dome.grpc.pb.h" +#endif + +using grpc::Channel; +using grpc::ClientContext; +using grpc::Status; +using hx2dome::ReturnCode; +using hx2dome::AzEl; +using hx2dome::IsComplete; +using hx2dome::BasicString; +using hx2dome::HX2Dome; + +class HX2DomeClient { + public: + HX2DomeClient(std::shared_ptr channel) + : stub_(HX2Dome::NewStub(channel)) {} + + // Assembles the client's payload, sends it and presents the response back + // from the server. + int dapiGotoAzEl(int rc, double az, double el) { + // Data we are sending to the server. + AzEl request; + request.set_return_code(rc); + request.set_az(az); + request.set_el(el); + std::cout << "HX2Dome sending: " << request.return_code() << std::endl; + + // Container for the data we expect from the server. + ReturnCode reply; + + // Context for the client. It could be used to convey extra information to + // the server and/or tweak certain RPC behaviors. + ClientContext context; + + // The actual RPC. + Status status = stub_->dapiGotoAzEl(&context, request, &reply); + + // std::cout << status.ok() << std::endl; + + // Act upon its status. + if (status.ok()) { + return reply.return_code(); + } else { + std::cout << status.error_code() << ": " << status.error_message() + << std::endl; + int fail(666); + return fail; + } + } + + private: + std::unique_ptr stub_; +}; + +int main(int argc, char** argv) { + // Instantiate the client. It requires a channel, out of which the actual RPCs + // are created. This channel models a connection to an endpoint (in this case, + // localhost at port 50051). We indicate that the channel isn't authenticated + // (use of InsecureChannelCredentials()). + HX2DomeClient hx2dome(grpc::CreateChannel( + "localhost:50051", grpc::InsecureChannelCredentials())); + int rc(1); + double a(10); + double e(20); + int result; + result = hx2dome.dapiGotoAzEl(rc, a, e); + std::cout << "HX2Dome receiving: " << result << std::endl; + + return 0; +} diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py new file mode 100644 index 0000000..94f3351 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py @@ -0,0 +1,38 @@ +# Copyright 2015 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The Python implementation of the GRPC helloworld.Greeter client.""" + +from __future__ import print_function +import logging + +import grpc + +import hx2dome_pb2 +import hx2dome_pb2_grpc + +# Just using this as a way to test the python server without having to use/debug the c++ client +def run(): + # NOTE(gRPC Python Team): .close() is possible on a channel and should be + # used in circumstances in which the with statement does not fit the needs + # of the code. + with grpc.insecure_channel('localhost:50051') as channel: + stub = hx2dome_pb2_grpc.HX2DomeStub(channel) + response = stub.dapiGotoAzEl(hx2dome_pb2.AzEl(return_code=1, az=10, el=20)) + print(type(response)) + print(f"HX2Dome client received: return_code={response.return_code}") + + +if __name__ == '__main__': + logging.basicConfig() + run() diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py new file mode 100644 index 0000000..172aff8 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py @@ -0,0 +1,40 @@ +from concurrent import futures +import time +import logging + +import grpc + +import hx2dome_pb2 +import hx2dome_pb2_grpc + +_ONE_DAY_IN_SECONDS = 60 * 60 * 24 + + +class HX2DomeServer(hx2dome_pb2_grpc.HX2DomeServicer): + + def dapiGotoAzEl(self, request, context): + # print something for debugging, so I know python server is actually getting a request from client + print(f'Receiving: {request.return_code}') + 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: {response.return_code}\n') + time.sleep(1) + return response + + +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/example_grpc_code/simple_client/hx2dome_pb2.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2.py new file mode 100644 index 0000000..fb6983f --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2.py @@ -0,0 +1,405 @@ +# -*- 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() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='hx2dome.proto', + package='hx2dome', + syntax='proto3', + serialized_options=None, + serialized_pb=_b('\n\rhx2dome.proto\x12\x07hx2dome\x1a\x1bgoogle/protobuf/empty.proto\"!\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(\t2\x9a\n\n\x07HX2Dome\x12\x36\n\x0b\x64\x61piGetAzEl\x12\x16.google.protobuf.Empty\x1a\r.hx2dome.AzEl\"\x00\x12\x34\n\x0c\x64\x61piGotoAzEl\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiAbort\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piOpen\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiClose\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piPark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12;\n\ndapiUnpark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12=\n\x0c\x64\x61piFindHome\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x41\n\x10\x64\x61piGotoComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piOpenComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x42\n\x11\x64\x61piCloseComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piParkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x43\n\x12\x64\x61piUnparkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x45\n\x14\x64\x61piFindHomeComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x30\n\x08\x64\x61piSync\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x45\n\x13\x64\x65viceInfoNameShort\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x44\n\x12\x64\x65viceInfoNameLong\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12O\n\x1d\x64\x65viceInfoDetailedDescription\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12K\n\x19\x64\x65viceInfoFirmwareVersion\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x41\n\x0f\x64\x65viceInfoModel\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x62\x06proto3') + , + dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) + + + + +_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=55, + serialized_end=88, +) + + +_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=90, + serialized_end=141, +) + + +_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=143, + serialized_end=197, +) + + +_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=199, + serialized_end=234, +) + +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 +_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) + + + +_HX2DOME = _descriptor.ServiceDescriptor( + name='HX2Dome', + full_name='hx2dome.HX2Dome', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=237, + serialized_end=1543, + methods=[ + _descriptor.MethodDescriptor( + name='dapiGetAzEl', + full_name='hx2dome.HX2Dome.dapiGetAzEl', + index=0, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiOpen', + full_name='hx2dome.HX2Dome.dapiOpen', + index=3, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiClose', + full_name='hx2dome.HX2Dome.dapiClose', + index=4, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiPark', + full_name='hx2dome.HX2Dome.dapiPark', + index=5, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiUnpark', + full_name='hx2dome.HX2Dome.dapiUnpark', + index=6, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiFindHome', + full_name='hx2dome.HX2Dome.dapiFindHome', + index=7, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiGotoComplete', + full_name='hx2dome.HX2Dome.dapiGotoComplete', + index=8, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiOpenComplete', + full_name='hx2dome.HX2Dome.dapiOpenComplete', + index=9, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiCloseComplete', + full_name='hx2dome.HX2Dome.dapiCloseComplete', + index=10, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiParkComplete', + full_name='hx2dome.HX2Dome.dapiParkComplete', + index=11, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiUnparkComplete', + full_name='hx2dome.HX2Dome.dapiUnparkComplete', + index=12, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiFindHomeComplete', + full_name='hx2dome.HX2Dome.dapiFindHomeComplete', + index=13, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoNameLong', + full_name='hx2dome.HX2Dome.deviceInfoNameLong', + index=16, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoDetailedDescription', + full_name='hx2dome.HX2Dome.deviceInfoDetailedDescription', + index=17, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoFirmwareVersion', + full_name='hx2dome.HX2Dome.deviceInfoFirmwareVersion', + index=18, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoModel', + full_name='hx2dome.HX2Dome.deviceInfoModel', + index=19, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._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/example_grpc_code/simple_client/hx2dome_pb2_grpc.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2_grpc.py new file mode 100644 index 0000000..32a2d9c --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2_grpc.py @@ -0,0 +1,370 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiOpen = channel.unary_unary( + '/hx2dome.HX2Dome/dapiOpen', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiClose = channel.unary_unary( + '/hx2dome.HX2Dome/dapiClose', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiPark = channel.unary_unary( + '/hx2dome.HX2Dome/dapiPark', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiUnpark = channel.unary_unary( + '/hx2dome.HX2Dome/dapiUnpark', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiFindHome = channel.unary_unary( + '/hx2dome.HX2Dome/dapiFindHome', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiGotoComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiGotoComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiOpenComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiOpenComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiCloseComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiCloseComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiParkComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiParkComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiUnparkComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiUnparkComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiFindHomeComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiFindHomeComplete', + request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoNameLong = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoNameLong', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoDetailedDescription = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoDetailedDescription', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoFirmwareVersion = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoFirmwareVersion', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoModel = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoModel', + request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiOpen': grpc.unary_unary_rpc_method_handler( + servicer.dapiOpen, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiClose': grpc.unary_unary_rpc_method_handler( + servicer.dapiClose, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiPark': grpc.unary_unary_rpc_method_handler( + servicer.dapiPark, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiUnpark': grpc.unary_unary_rpc_method_handler( + servicer.dapiUnpark, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiFindHome': grpc.unary_unary_rpc_method_handler( + servicer.dapiFindHome, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiGotoComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiGotoComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiOpenComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiOpenComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiCloseComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiCloseComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiParkComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiParkComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiUnparkComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiUnparkComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiFindHomeComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiFindHomeComplete, + request_deserializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoNameLong': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoNameLong, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoDetailedDescription': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoDetailedDescription, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoFirmwareVersion': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoFirmwareVersion, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoModel': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoModel, + request_deserializer=google_dot_protobuf_dot_empty__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/example_grpc_code/simple_client_v2/Makefile b/domehunter/protos/example_grpc_code/simple_client_v2/Makefile new file mode 100644 index 0000000..fe4107f --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/Makefile @@ -0,0 +1,49 @@ +HOST_SYSTEM = $(shell uname | cut -f 1 -d_) +SYSTEM ?= $(HOST_SYSTEM) +CXX = g++ +CPPFLAGS += `pkg-config --cflags protobuf grpc` +CXXFLAGS += -std=c++11 + +LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ + -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\ + -ldl + +PROTOC = protoc +GRPC_CPP_PLUGIN = grpc_cpp_plugin +GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)` +PROTO_PATH1 = /usr/local/include/google/protobuf/ +PROTO_PATH2 = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto + +# PROTOS_PATH = ../../protos +PROTOS_PATH = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client_v2/ + +vpath %.proto $(PROTOS_PATH) + +all: main + +main: main.o hx2dome.proto_client.o hx2dome.pb.o hx2dome.grpc.pb.o + $(CXX) $^ $(LDFLAGS) -o $@ + +main.o: main.cpp + $(CXX) $^ $(LDFLAGS) -c + +hx2dome.proto_client.o: hx2dome.proto_client.cc + $(CXX) $^ $(LDFLAGS) -c + +hx2dome.grpc.pb.o: hx2dome.grpc.pb.cc + $(CXX) $^ $(LDFLAGS) -c + +hx2dome.pb.o: hx2dome.pb.cc + $(CXX) $^ $(LDFLAGS) -c + + +.PRECIOUS: %.grpc.pb.cc +hx2dome.grpc.pb.cc: hx2dome.proto + $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --proto_path=$(PROTO_PATH1) $(PROTO_PATH2) --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) + +.PRECIOUS: %.pb.cc +hx2dome.pb.cc: hx2dome.proto + $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $< + +clean: + rm -f *.o main diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh b/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh new file mode 100755 index 0000000..a478715 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +if [ "$1" == "clean" ]; then + rm x2dome.proto_client + rm *.grpc.pb.* + rm *.pb.* + rm *.o +else + HDOME_PATH="$HOME/Documents/REPOS" + PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/" + PROTO_PATH1="/usr/local/include/google/protobuf/" + PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/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=. 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 "Running Makefile.\n" + make + + echo -e "Cleaning out object files.\n" + rm *.o + + echo -e "Done.\n" +fi diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh b/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh new file mode 100755 index 0000000..c6ad08e --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ "$1" == "clean" ]; then + rm *pb2_grpc.py + rm *pb2.py +else + HDOME_PATH="$HOME/Documents/REPOS" + PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/" + PROTO_PATH1="/usr/local/include/google/protobuf/" + PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/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 "Done.\n" +fi diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc new file mode 100644 index 0000000..5e0e44e --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc @@ -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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::Empty, ::hx2dome::BasicString>( + std::mem_fn(&HX2Dome::Service::deviceInfoModel), this))); +} + +HX2Dome::Service::~Service() { +} + +::grpc::Status HX2Dome::Service::dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace hx2dome + diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h new file mode 100644 index 0000000..ffea142 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiAbortRaw(context, request, cq)); + } + ::grpc::Status dapiOpen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiOpenRaw(context, request, cq)); + } + ::grpc::Status dapiClose(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiCloseRaw(context, request, cq)); + } + ::grpc::Status dapiPark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiParkRaw(context, request, cq)); + } + ::grpc::Status dapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiUnparkRaw(context, request, cq)); + } + ::grpc::Status dapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiFindHomeRaw(context, request, cq)); + } + ::grpc::Status dapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiGotoCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiOpenCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiCloseCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiParkCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiUnparkCompleteRaw(context, request, cq)); + } + ::grpc::Status dapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameShortRaw(context, request, cq)); + } + ::grpc::Status deviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameLongRaw(context, request, cq)); + } + ::grpc::Status deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); + } + ::grpc::Status deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); + } + ::grpc::Status deviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); + virtual ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); + virtual ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); + virtual ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGetAzEl(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiAbort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpen(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiClose(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiPark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnpark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHome(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiGotoComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiOpenComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiCloseComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiParkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiUnparkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdapiFindHomeComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameShort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoNameLong(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoDetailedDescription(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoFirmwareVersion(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestdeviceInfoModel(::grpc::ServerContext* context, ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::AzEl>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiAbort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiClose(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiPark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameShort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( + [this](::grpc::ServerContext* context, + const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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/example_grpc_code/simple_client_v2/hx2dome.pb.cc b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.cc new file mode 100644 index 0000000..0ff010b --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.cc @@ -0,0 +1,1441 @@ +// 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_; +} // 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}, {}}; + +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::Metadata file_level_metadata_hx2dome_2eproto[4]; +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_), +}; +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)}, +}; + +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_), +}; + +::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, 4, file_level_enum_descriptors_hx2dome_2eproto, file_level_service_descriptors_hx2dome_2eproto, +}; + +const char descriptor_table_protodef_hx2dome_2eproto[] = + "\n\rhx2dome.proto\022\007hx2dome\032\033google/protobu" + "f/empty.proto\"!\n\nReturnCode\022\023\n\013return_co" + "de\030\001 \001(\005\"3\n\004AzEl\022\023\n\013return_code\030\001 \001(\005\022\n\n" + "\002az\030\002 \001(\001\022\n\n\002el\030\003 \001(\001\"6\n\nIsComplete\022\023\n\013r" + "eturn_code\030\001 \001(\005\022\023\n\013is_complete\030\002 \001(\010\"#\n" + "\013BasicString\022\024\n\014basic_string\030\001 \001(\t2\232\n\n\007H" + "X2Dome\0226\n\013dapiGetAzEl\022\026.google.protobuf." + "Empty\032\r.hx2dome.AzEl\"\000\0224\n\014dapiGotoAzEl\022\r" + ".hx2dome.AzEl\032\023.hx2dome.ReturnCode\"\000\022:\n\t" + "dapiAbort\022\026.google.protobuf.Empty\032\023.hx2d" + "ome.ReturnCode\"\000\0229\n\010dapiOpen\022\026.google.pr" + "otobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022:\n\td" + "apiClose\022\026.google.protobuf.Empty\032\023.hx2do" + "me.ReturnCode\"\000\0229\n\010dapiPark\022\026.google.pro" + "tobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022;\n\nda" + "piUnpark\022\026.google.protobuf.Empty\032\023.hx2do" + "me.ReturnCode\"\000\022=\n\014dapiFindHome\022\026.google" + ".protobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022A" + "\n\020dapiGotoComplete\022\026.google.protobuf.Emp" + "ty\032\023.hx2dome.IsComplete\"\000\022A\n\020dapiOpenCom" + "plete\022\026.google.protobuf.Empty\032\023.hx2dome." + "IsComplete\"\000\022B\n\021dapiCloseComplete\022\026.goog" + "le.protobuf.Empty\032\023.hx2dome.IsComplete\"\000" + "\022A\n\020dapiParkComplete\022\026.google.protobuf.E" + "mpty\032\023.hx2dome.IsComplete\"\000\022C\n\022dapiUnpar" + "kComplete\022\026.google.protobuf.Empty\032\023.hx2d" + "ome.IsComplete\"\000\022E\n\024dapiFindHomeComplete" + "\022\026.google.protobuf.Empty\032\023.hx2dome.IsCom" + "plete\"\000\0220\n\010dapiSync\022\r.hx2dome.AzEl\032\023.hx2" + "dome.ReturnCode\"\000\022E\n\023deviceInfoNameShort" + "\022\026.google.protobuf.Empty\032\024.hx2dome.Basic" + "String\"\000\022D\n\022deviceInfoNameLong\022\026.google." + "protobuf.Empty\032\024.hx2dome.BasicString\"\000\022O" + "\n\035deviceInfoDetailedDescription\022\026.google" + ".protobuf.Empty\032\024.hx2dome.BasicString\"\000\022" + "K\n\031deviceInfoFirmwareVersion\022\026.google.pr" + "otobuf.Empty\032\024.hx2dome.BasicString\"\000\022A\n\017" + "deviceInfoModel\022\026.google.protobuf.Empty\032" + "\024.hx2dome.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, 1551, +}; + +void AddDescriptors_hx2dome_2eproto() { + static constexpr ::google::protobuf::internal::InitFunc deps[1] = + { + ::AddDescriptors_google_2fprotobuf_2fempty_2eproto, + }; + ::google::protobuf::internal::AddDescriptors(&descriptor_table_hx2dome_2eproto, deps, 1); +} + +// 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]; +} + + +// @@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); +} +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) +#include diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h new file mode 100644 index 0000000..d8bb003 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h @@ -0,0 +1,730 @@ +// 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 +#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[4] + 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 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::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; +}; +// =================================================================== + + +// =================================================================== + +#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) +} + +#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/example_grpc_code/simple_client_v2/hx2dome.proto b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto new file mode 100644 index 0000000..c20d4b6 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto @@ -0,0 +1,57 @@ +// 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 (google.protobuf.Empty) returns (AzEl) {}; + rpc dapiGotoAzEl (AzEl) returns (ReturnCode) {}; + rpc dapiAbort (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiOpen (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiClose (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiPark (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiUnpark (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiFindHome (google.protobuf.Empty) returns (ReturnCode) {}; + rpc dapiGotoComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiOpenComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiCloseComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiParkComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiUnparkComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiFindHomeComplete (google.protobuf.Empty) returns (IsComplete) {}; + rpc dapiSync (AzEl) returns (ReturnCode) {}; + // Hardware Info Interface + rpc deviceInfoNameShort (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoNameLong (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoDetailedDescription (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoFirmwareVersion (google.protobuf.Empty) returns (BasicString) {}; + rpc deviceInfoModel (google.protobuf.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; +} diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc new file mode 100644 index 0000000..0148ce0 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc @@ -0,0 +1,34 @@ +#include "hx2dome.proto_client.h" + + +int HX2DomeClient::dapiGotoAzEl(int rc, double az, double el) +{ + // Data we are sending to the server. + AzEl request; + request.set_return_code(rc); + request.set_az(az); + request.set_el(el); + std::cout << "HX2Dome sending: " << request.return_code() << std::endl; + + // Container for the data we expect from the server. + ReturnCode reply; + + // Context for the client. It could be used to convey extra information to + // the server and/or tweak certain RPC behaviors. + ClientContext context; + + // The actual RPC. + Status status = stub_->dapiGotoAzEl(&context, request, &reply); + + // std::cout << status.ok() << std::endl; + + // Act upon its status. + if (status.ok()) { + return reply.return_code(); + } else { + std::cout << status.error_code() << ": " << status.error_message() + << std::endl; + int fail(666); + return fail; + } +} diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h new file mode 100644 index 0000000..007e9e6 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h @@ -0,0 +1,32 @@ +#include +#include +#include + +#include + +#ifdef BAZEL_BUILD +#include "/home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h" +#else +#include "hx2dome.grpc.pb.h" +#endif + +using grpc::Channel; +using grpc::ClientContext; +using grpc::Status; +using hx2dome::ReturnCode; +using hx2dome::AzEl; +using hx2dome::IsComplete; +using hx2dome::BasicString; +using hx2dome::HX2Dome; + + +class HX2DomeClient { + public: + HX2DomeClient(std::shared_ptr channel) + : stub_(HX2Dome::NewStub(channel)) {} + + virtual int dapiGotoAzEl(int rc, double az, double el); + + private: + std::unique_ptr stub_; +}; diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py new file mode 100644 index 0000000..94f3351 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py @@ -0,0 +1,38 @@ +# Copyright 2015 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The Python implementation of the GRPC helloworld.Greeter client.""" + +from __future__ import print_function +import logging + +import grpc + +import hx2dome_pb2 +import hx2dome_pb2_grpc + +# Just using this as a way to test the python server without having to use/debug the c++ client +def run(): + # NOTE(gRPC Python Team): .close() is possible on a channel and should be + # used in circumstances in which the with statement does not fit the needs + # of the code. + with grpc.insecure_channel('localhost:50051') as channel: + stub = hx2dome_pb2_grpc.HX2DomeStub(channel) + response = stub.dapiGotoAzEl(hx2dome_pb2.AzEl(return_code=1, az=10, el=20)) + print(type(response)) + print(f"HX2Dome client received: return_code={response.return_code}") + + +if __name__ == '__main__': + logging.basicConfig() + run() diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py new file mode 100644 index 0000000..172aff8 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py @@ -0,0 +1,40 @@ +from concurrent import futures +import time +import logging + +import grpc + +import hx2dome_pb2 +import hx2dome_pb2_grpc + +_ONE_DAY_IN_SECONDS = 60 * 60 * 24 + + +class HX2DomeServer(hx2dome_pb2_grpc.HX2DomeServicer): + + def dapiGotoAzEl(self, request, context): + # print something for debugging, so I know python server is actually getting a request from client + print(f'Receiving: {request.return_code}') + 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: {response.return_code}\n') + time.sleep(1) + return response + + +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/example_grpc_code/simple_client_v2/hx2dome_pb2.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2.py new file mode 100644 index 0000000..fb6983f --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2.py @@ -0,0 +1,405 @@ +# -*- 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() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='hx2dome.proto', + package='hx2dome', + syntax='proto3', + serialized_options=None, + serialized_pb=_b('\n\rhx2dome.proto\x12\x07hx2dome\x1a\x1bgoogle/protobuf/empty.proto\"!\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(\t2\x9a\n\n\x07HX2Dome\x12\x36\n\x0b\x64\x61piGetAzEl\x12\x16.google.protobuf.Empty\x1a\r.hx2dome.AzEl\"\x00\x12\x34\n\x0c\x64\x61piGotoAzEl\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiAbort\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piOpen\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiClose\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piPark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12;\n\ndapiUnpark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12=\n\x0c\x64\x61piFindHome\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x41\n\x10\x64\x61piGotoComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piOpenComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x42\n\x11\x64\x61piCloseComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piParkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x43\n\x12\x64\x61piUnparkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x45\n\x14\x64\x61piFindHomeComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x30\n\x08\x64\x61piSync\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x45\n\x13\x64\x65viceInfoNameShort\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x44\n\x12\x64\x65viceInfoNameLong\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12O\n\x1d\x64\x65viceInfoDetailedDescription\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12K\n\x19\x64\x65viceInfoFirmwareVersion\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x41\n\x0f\x64\x65viceInfoModel\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x62\x06proto3') + , + dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) + + + + +_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=55, + serialized_end=88, +) + + +_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=90, + serialized_end=141, +) + + +_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=143, + serialized_end=197, +) + + +_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=199, + serialized_end=234, +) + +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 +_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) + + + +_HX2DOME = _descriptor.ServiceDescriptor( + name='HX2Dome', + full_name='hx2dome.HX2Dome', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=237, + serialized_end=1543, + methods=[ + _descriptor.MethodDescriptor( + name='dapiGetAzEl', + full_name='hx2dome.HX2Dome.dapiGetAzEl', + index=0, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiOpen', + full_name='hx2dome.HX2Dome.dapiOpen', + index=3, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiClose', + full_name='hx2dome.HX2Dome.dapiClose', + index=4, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiPark', + full_name='hx2dome.HX2Dome.dapiPark', + index=5, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiUnpark', + full_name='hx2dome.HX2Dome.dapiUnpark', + index=6, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiFindHome', + full_name='hx2dome.HX2Dome.dapiFindHome', + index=7, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_RETURNCODE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiGotoComplete', + full_name='hx2dome.HX2Dome.dapiGotoComplete', + index=8, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiOpenComplete', + full_name='hx2dome.HX2Dome.dapiOpenComplete', + index=9, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiCloseComplete', + full_name='hx2dome.HX2Dome.dapiCloseComplete', + index=10, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiParkComplete', + full_name='hx2dome.HX2Dome.dapiParkComplete', + index=11, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiUnparkComplete', + full_name='hx2dome.HX2Dome.dapiUnparkComplete', + index=12, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_ISCOMPLETE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='dapiFindHomeComplete', + full_name='hx2dome.HX2Dome.dapiFindHomeComplete', + index=13, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoNameLong', + full_name='hx2dome.HX2Dome.deviceInfoNameLong', + index=16, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoDetailedDescription', + full_name='hx2dome.HX2Dome.deviceInfoDetailedDescription', + index=17, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoFirmwareVersion', + full_name='hx2dome.HX2Dome.deviceInfoFirmwareVersion', + index=18, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_BASICSTRING, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='deviceInfoModel', + full_name='hx2dome.HX2Dome.deviceInfoModel', + index=19, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._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/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py new file mode 100644 index 0000000..32a2d9c --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py @@ -0,0 +1,370 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiOpen = channel.unary_unary( + '/hx2dome.HX2Dome/dapiOpen', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiClose = channel.unary_unary( + '/hx2dome.HX2Dome/dapiClose', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiPark = channel.unary_unary( + '/hx2dome.HX2Dome/dapiPark', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiUnpark = channel.unary_unary( + '/hx2dome.HX2Dome/dapiUnpark', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiFindHome = channel.unary_unary( + '/hx2dome.HX2Dome/dapiFindHome', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.ReturnCode.FromString, + ) + self.dapiGotoComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiGotoComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiOpenComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiOpenComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiCloseComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiCloseComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiParkComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiParkComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiUnparkComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiUnparkComplete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.IsComplete.FromString, + ) + self.dapiFindHomeComplete = channel.unary_unary( + '/hx2dome.HX2Dome/dapiFindHomeComplete', + request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoNameLong = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoNameLong', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoDetailedDescription = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoDetailedDescription', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoFirmwareVersion = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoFirmwareVersion', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=hx2dome__pb2.BasicString.FromString, + ) + self.deviceInfoModel = channel.unary_unary( + '/hx2dome.HX2Dome/deviceInfoModel', + request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiOpen': grpc.unary_unary_rpc_method_handler( + servicer.dapiOpen, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiClose': grpc.unary_unary_rpc_method_handler( + servicer.dapiClose, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiPark': grpc.unary_unary_rpc_method_handler( + servicer.dapiPark, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiUnpark': grpc.unary_unary_rpc_method_handler( + servicer.dapiUnpark, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiFindHome': grpc.unary_unary_rpc_method_handler( + servicer.dapiFindHome, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, + ), + 'dapiGotoComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiGotoComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiOpenComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiOpenComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiCloseComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiCloseComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiParkComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiParkComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiUnparkComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiUnparkComplete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.IsComplete.SerializeToString, + ), + 'dapiFindHomeComplete': grpc.unary_unary_rpc_method_handler( + servicer.dapiFindHomeComplete, + request_deserializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoNameLong': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoNameLong, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoDetailedDescription': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoDetailedDescription, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoFirmwareVersion': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoFirmwareVersion, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=hx2dome__pb2.BasicString.SerializeToString, + ), + 'deviceInfoModel': grpc.unary_unary_rpc_method_handler( + servicer.deviceInfoModel, + request_deserializer=google_dot_protobuf_dot_empty__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/example_grpc_code/simple_client_v2/main.cpp b/domehunter/protos/example_grpc_code/simple_client_v2/main.cpp new file mode 100644 index 0000000..27415a0 --- /dev/null +++ b/domehunter/protos/example_grpc_code/simple_client_v2/main.cpp @@ -0,0 +1,20 @@ +#include "hx2dome.proto_client.h" + + +int main(int argc, char** argv) { + // Instantiate the client. It requires a channel, out of which the actual RPCs + // are created. This channel models a connection to an endpoint (in this case, + // localhost at port 50051). We indicate that the channel isn't authenticated + // (use of InsecureChannelCredentials()). + HX2DomeClient hx2dome(grpc::CreateChannel( + "localhost:50051", grpc::InsecureChannelCredentials())); + int rc(1); + double a(10); + double e(20); + int result; + result = hx2dome.dapiGotoAzEl(rc, a, e); + // int output(dynamic_cast(result.return_code())); + std::cout << "HX2Dome receiving: " << result << std::endl; + + return 0; +} From 5e1a379e18c4739d652f7d931859206e6c444959 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:45:11 +1000 Subject: [PATCH 04/13] X2 header files --- .../basiciniutilinterface.h | 45 ++ .../licensedinterfaces/basicstringinterface.h | 29 + .../licensedinterfaces/deviceinfointerface.h | 34 ++ .../licensedinterfaces/domedriverinterface.h | 100 ++++ .../licensedinterfaces/driverinfointerface.h | 28 + .../licensedinterfaces/driverrootinterface.h | 51 ++ .../src/licensedinterfaces/linkinterface.h | 40 ++ .../src/licensedinterfaces/loggerinterface.h | 72 +++ .../src/licensedinterfaces/mutexinterface.h | 60 +++ .../protos/src/licensedinterfaces/sberrorx.h | 499 ++++++++++++++++++ .../src/licensedinterfaces/serxinterface.h | 112 ++++ .../src/licensedinterfaces/sleeperinterface.h | 23 + .../theskyxfacadefordriversinterface.h | 84 +++ .../licensedinterfaces/tickcountinterface.h | 30 ++ 14 files changed, 1207 insertions(+) create mode 100644 domehunter/protos/src/licensedinterfaces/basiciniutilinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/basicstringinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/deviceinfointerface.h create mode 100644 domehunter/protos/src/licensedinterfaces/domedriverinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/driverinfointerface.h create mode 100644 domehunter/protos/src/licensedinterfaces/driverrootinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/linkinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/loggerinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/mutexinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/sberrorx.h create mode 100644 domehunter/protos/src/licensedinterfaces/serxinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/sleeperinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/theskyxfacadefordriversinterface.h create mode 100644 domehunter/protos/src/licensedinterfaces/tickcountinterface.h 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 From fb68a82cf5f7eceb1252d45dd574c893f2fd9965 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:45:34 +1000 Subject: [PATCH 05/13] generated grpc cpp and python files --- domehunter/protos/src/hx2dome.grpc.pb.cpp | 721 +++++ domehunter/protos/src/hx2dome.grpc.pb.h | 3111 +++++++++++++++++++++ domehunter/protos/src/hx2dome.pb.cpp | 1674 +++++++++++ domehunter/protos/src/hx2dome.pb.h | 844 ++++++ domehunter/protos/src/hx2dome_pb2.py | 435 +++ domehunter/protos/src/hx2dome_pb2_grpc.py | 369 +++ 6 files changed, 7154 insertions(+) create mode 100644 domehunter/protos/src/hx2dome.grpc.pb.cpp create mode 100644 domehunter/protos/src/hx2dome.grpc.pb.h create mode 100644 domehunter/protos/src/hx2dome.pb.cpp create mode 100644 domehunter/protos/src/hx2dome.pb.h create mode 100644 domehunter/protos/src/hx2dome_pb2.py create mode 100644 domehunter/protos/src/hx2dome_pb2_grpc.py 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_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,)) From da7a02c2eaa9bcf0aea705b11999de95aafb73ab Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:45:43 +1000 Subject: [PATCH 06/13] proto file --- domehunter/protos/src/hx2dome.proto | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 domehunter/protos/src/hx2dome.proto 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 { + +} From 950cb3d013ee9b600f1cbecb4665df7688e2299d Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:45:51 +1000 Subject: [PATCH 07/13] python grpc server --- domehunter/protos/src/hx2dome.proto_server.py | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 domehunter/protos/src/hx2dome.proto_server.py 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() From f2c7478aa20dc83c93e5900f3c4aabff3c2a9aaf Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:46:01 +1000 Subject: [PATCH 08/13] cpp driver --- domehunter/protos/src/main.cpp | 52 ++++++ domehunter/protos/src/main.h | 27 +++ domehunter/protos/src/x2dome.cpp | 310 +++++++++++++++++++++++++++++++ domehunter/protos/src/x2dome.h | 129 +++++++++++++ 4 files changed, 518 insertions(+) create mode 100644 domehunter/protos/src/main.cpp create mode 100644 domehunter/protos/src/main.h create mode 100644 domehunter/protos/src/x2dome.cpp create mode 100644 domehunter/protos/src/x2dome.h 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; +}; From 3321211fbe03ec455fd393dbdcc0759e03fd58ac Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 3 Jul 2019 21:46:25 +1000 Subject: [PATCH 09/13] compiling/installation scripts and readme file --- README.rst | 107 +++++++++++++----- domehunter/protos/Makefile | 36 ++++++ domehunter/protos/TheSkyX_plugin_install.sh | 43 +++++++ domehunter/protos/domelist HuntsmanDome.txt | 4 + domehunter/protos/generate_grpc_cpp_code.sh | 39 +++++++ .../protos/generate_grpc_python_code.sh | 22 ++++ 6 files changed, 222 insertions(+), 29 deletions(-) create mode 100644 domehunter/protos/Makefile create mode 100755 domehunter/protos/TheSkyX_plugin_install.sh create mode 100644 domehunter/protos/domelist HuntsmanDome.txt create mode 100755 domehunter/protos/generate_grpc_cpp_code.sh create mode 100755 domehunter/protos/generate_grpc_python_code.sh diff --git a/README.rst b/README.rst index 6765aaa..c3f2072 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,83 @@ 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. + +Getting Started +--------------- + +Within the ``domehunter/protos/`` directory are a number of files and +directories. ``example_domepro_driver/`` Contains an example of a +c++ X2Dome driver for reference. For more infomation on the X2 +standard `see here `_. ``example_grpc_code`` contains +several simply gRPC implementations using a c++ client and a +python server. + +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`` +* ``main.h`` +* ``x2dome.cpp`` +* ``x2dome.h`` +* ``hx2dome.proto`` +* ``hx2dome.proto_server.py`` + +The remaining cpp and python files are automatically produced +by gRPC and shouldn't need to be looked at. + +| + +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 shouldnt need to worry about +this as the generated files are committed to the repositry and +shouldn't need to be generated. + +The remaining files in ``domehunter/protos/`` include, + +* ``domelistHuntsmanDome.txt`` +* ``TheSkyX_plugin_install.sh`` +* ``Makefile`` + +The first two are files are used to installed 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. + + License ------- @@ -18,34 +95,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 From d04c4dfa4eef403110563bf4892ecf92640f1825 Mon Sep 17 00:00:00 2001 From: Lee Spitler Date: Thu, 4 Jul 2019 06:44:09 +1000 Subject: [PATCH 10/13] grpc requirement in readme --- README.rst | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/README.rst b/README.rst index c3f2072..a924074 100644 --- a/README.rst +++ b/README.rst @@ -10,12 +10,12 @@ Code to run the Huntsman Telescope dome control hardware Overview -------- -The Huntsman Telescope dome control software has two components, +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 +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++ +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 @@ -23,17 +23,22 @@ 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. +Requirements +--------------- + +``grpc`` See instructions `here `_. + Getting Started --------------- -Within the ``domehunter/protos/`` directory are a number of files and +Within the ``domehunter/protos/`` directory are a number of files and directories. ``example_domepro_driver/`` Contains an example of a c++ X2Dome driver for reference. For more infomation on the X2 standard `see here `_. ``example_grpc_code`` contains -several simply gRPC implementations using a c++ client and a +several simply gRPC implementations using a c++ client and a python server. -The code for the Huntsman dome driver is contained in the +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, @@ -45,16 +50,16 @@ tools. The human written files are, * ``hx2dome.proto`` * ``hx2dome.proto_server.py`` -The remaining cpp and python files are automatically produced +The remaining cpp and python files are automatically produced by gRPC and shouldn't need to be looked at. | -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 shouldnt need to worry about -this as the generated files are committed to the repositry and +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 shouldnt need to worry about +this as the generated files are committed to the repositry and shouldn't need to be generated. The remaining files in ``domehunter/protos/`` include, @@ -63,9 +68,9 @@ The remaining files in ``domehunter/protos/`` include, * ``TheSkyX_plugin_install.sh`` * ``Makefile`` -The first two are files are used to installed 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/`` +The first two are files are used to installed 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``. | @@ -74,12 +79,12 @@ 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, +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. From 17c5ba29ac5b23513ec0caf5837c2b965ceab12d Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 5 Jul 2019 00:26:39 +1000 Subject: [PATCH 11/13] removed example code and updated readme --- README.rst | 3 +- .../X2-DomePro-master/Astrometric.png | Bin 35929 -> 0 bytes .../X2-DomePro-master/DomePro.iss | 70 - .../DomePro.xcodeproj/project.pbxproj | 328 -- .../contents.xcworkspacedata | 7 - .../X2-DomePro-master/INSTALL.TXT | 5 - .../X2-DomePro-master/INSTALL_RPI.TXT | 3 - .../X2-DomePro-master/INSTALL_Ubuntu.TXT | 3 - .../X2-DomePro-master/Makefile | 27 - .../X2-DomePro-master/UI_map.h | 124 - .../X2-DomePro-master/domelist DomePro.txt | 3 - .../X2-DomePro-master/domepro.cpp | 3005 ---------------- .../X2-DomePro-master/domepro.h | 391 --- .../X2-DomePro-master/domepro.ui | 545 --- .../X2-DomePro-master/domeprodiag.ui | 453 --- .../X2-DomePro-master/domeshutter.ui | 716 ---- .../X2-DomePro-master/dometimeouts.ui | 362 -- .../installer/Scripts/postinstall | 41 - .../X2-DomePro-master/installer/build.sh | 20 - .../installer/linux_install.sh | 46 - .../installer/rpi_install.sh | 46 - .../libDomePro/libDomePro.sln | 28 - .../libDomePro/libDomePro.vcxproj | 165 - .../libDomePro/libDomePro.vcxproj.filters | 39 - .../licensedinterfaces/addfitskeyinterface.h | 51 - .../basiciniutilinterface.h | 45 - .../licensedinterfaces/basicstringinterface.h | 29 - .../cameradependentsettinginterface.h | 69 - .../cameradriverinterface.h | 201 -- .../licensedinterfaces/deviceinfointerface.h | 34 - .../licensedinterfaces/domedriverinterface.h | 100 - .../licensedinterfaces/driverinfointerface.h | 28 - .../licensedinterfaces/driverrootinterface.h | 51 - .../driverslewstoparkpositioninterface.h | 29 - .../extendedcamerainterface.h | 67 - .../filterwheeldriverinterface.h | 75 - .../filterwheelmovetointerface.h | 81 - .../focuser/focusergotointerface2.h | 63 - .../focuser/focusertemperatureinterface.h | 32 - .../focuserdriverinterface.h | 82 - .../focusergotointerface2.h | 63 - .../focusertemperatureinterface.h | 32 - .../licensedinterfaces/gpsinterface.h | 41 - .../hardwaremodeloverride.h | 43 - .../licensedinterfaces/linkinterface.h | 40 - .../licensedinterfaces/loggerinterface.h | 72 - .../modalsettingsdialoginterface.h | 37 - .../mount/asymmetricalequatorialinterface.h | 195 -- .../mount/linkfromuithreadinterface.h | 31 - .../mount/mounttypeinterface.h | 44 - .../mount/needsrefractioninterface.h | 42 - .../mount/openloopmoveinterface.h | 48 - .../mount/slewtointerface.h | 29 - .../mount/symmetricalequatorialinterface.h | 28 - .../mount/syncmountinterface.h | 27 - .../mount/trackingratesinterface.h | 49 - .../licensedinterfaces/mountdriverinterface.h | 139 - .../multiconnectiondeviceinterface.h | 128 - .../licensedinterfaces/mutexinterface.h | 60 - .../licensedinterfaces/noshutterinterface.h | 34 - .../licensedinterfaces/parkinterface.h | 35 - .../licensedinterfaces/pixelsizeinterface.h | 34 - .../preexposuretaskinterface.h | 64 - .../rotatordriverinterface.h | 80 - .../licensedinterfaces/sberrorx.h | 499 --- .../serialportparams2interface.h | 84 - .../licensedinterfaces/serxinterface.h | 112 - .../licensedinterfaces/sleeperinterface.h | 23 - .../licensedinterfaces/subframeinterface.h | 48 - .../theskyxfacadefordriversinterface.h | 84 - .../licensedinterfaces/tickcountinterface.h | 30 - .../licensedinterfaces/unparkinterface.h | 34 - .../licensedinterfaces/x2guiinterface.h | 239 -- .../X2-DomePro-master/main.cpp | 44 - .../X2-DomePro-master/main.h | 27 - .../X2-DomePro-master/rti_zone_logo.ico | Bin 23982 -> 0 bytes .../X2-DomePro-master/x2dome.cpp | 1316 ------- .../X2-DomePro-master/x2dome.h | 204 -- .../x2/domeplugins/x2dome/.qmake.stash | 24 - .../x2/domeplugins/x2dome/Makefile | 407 --- .../x2dome/TheSkyX_plugin_install.sh | 61 - .../x2dome/domelist ExampleX2Dome.txt | 4 - .../x2/domeplugins/x2dome/main.cpp | 44 - .../x2/domeplugins/x2dome/main.h | 27 - .../x2/domeplugins/x2dome/x2dome.cpp | 191 - .../x2/domeplugins/x2dome/x2dome.h | 107 - .../x2/domeplugins/x2dome/x2dome.pro | 21 - .../licensedinterfaces/addfitskeyinterface.h | 51 - .../basiciniutilinterface.h | 45 - .../licensedinterfaces/basicstringinterface.h | 29 - .../cameradependentsettinginterface.h | 69 - .../cameradriverinterface.h | 201 -- .../licensedinterfaces/deviceinfointerface.h | 34 - .../licensedinterfaces/domedriverinterface.h | 100 - .../licensedinterfaces/driverinfointerface.h | 28 - .../licensedinterfaces/driverrootinterface.h | 51 - .../driverslewstoparkpositioninterface.h | 29 - .../extendedcamerainterface.h | 67 - .../filterwheeldriverinterface.h | 75 - .../filterwheelmovetointerface.h | 81 - .../focuser/focusergotointerface2.h | 63 - .../focuser/focusertemperatureinterface.h | 32 - .../focuserdriverinterface.h | 82 - .../focusergotointerface2.h | 63 - .../focusertemperatureinterface.h | 32 - .../x2/licensedinterfaces/gpsinterface.h | 41 - .../hardwaremodeloverride.h | 43 - .../x2/licensedinterfaces/linkinterface.h | 40 - .../x2/licensedinterfaces/loggerinterface.h | 72 - .../modalsettingsdialoginterface.h | 37 - .../mount/asymmetricalequatorialinterface.h | 195 -- .../mount/linkfromuithreadinterface.h | 31 - .../mount/mounttypeinterface.h | 44 - .../mount/needsrefractioninterface.h | 42 - .../mount/openloopmoveinterface.h | 48 - .../mount/slewtointerface.h | 29 - .../mount/symmetricalequatorialinterface.h | 28 - .../mount/syncmountinterface.h | 27 - .../mount/trackingratesinterface.h | 49 - .../licensedinterfaces/mountdriverinterface.h | 139 - .../multiconnectiondeviceinterface.h | 128 - .../x2/licensedinterfaces/mutexinterface.h | 60 - .../licensedinterfaces/noshutterinterface.h | 34 - .../x2/licensedinterfaces/parkinterface.h | 35 - .../licensedinterfaces/pixelsizeinterface.h | 34 - .../preexposuretaskinterface.h | 64 - .../rotatordriverinterface.h | 80 - .../x2/licensedinterfaces/sberrorx.h | 499 --- .../serialportparams2interface.h | 84 - .../x2/licensedinterfaces/serxinterface.h | 112 - .../x2/licensedinterfaces/sleeperinterface.h | 23 - .../x2/licensedinterfaces/subframeinterface.h | 48 - .../theskyxfacadefordriversinterface.h | 84 - .../licensedinterfaces/tickcountinterface.h | 30 - .../x2/licensedinterfaces/unparkinterface.h | 34 - .../x2/licensedinterfaces/x2guiinterface.h | 239 -- .../example_grpc_code/X2_client_test/Makefile | 62 - .../example_grpc_code/X2_client_test/test.cpp | 41 - .../example_grpc_code/simple_client/Makefile | 46 - .../simple_client/generate_grpc_cpp_code.sh | 31 - .../generate_grpc_python_code.sh | 19 - .../simple_client/hx2dome.grpc.pb.cc | 721 ---- .../simple_client/hx2dome.grpc.pb.h | 3111 ----------------- .../simple_client/hx2dome.pb.cc | 1441 -------- .../simple_client/hx2dome.pb.h | 730 ---- .../simple_client/hx2dome.proto | 57 - .../simple_client/hx2dome.proto_client.cc | 97 - .../simple_client/hx2dome.proto_client.py | 38 - .../simple_client/hx2dome.proto_server.py | 40 - .../simple_client/hx2dome_pb2.py | 405 --- .../simple_client/hx2dome_pb2_grpc.py | 370 -- .../simple_client_v2/Makefile | 49 - .../generate_grpc_cpp_code.sh | 31 - .../generate_grpc_python_code.sh | 19 - .../simple_client_v2/hx2dome.grpc.pb.cc | 721 ---- .../simple_client_v2/hx2dome.grpc.pb.h | 3111 ----------------- .../simple_client_v2/hx2dome.pb.cc | 1441 -------- .../simple_client_v2/hx2dome.pb.h | 730 ---- .../simple_client_v2/hx2dome.proto | 57 - .../simple_client_v2/hx2dome.proto_client.cc | 34 - .../simple_client_v2/hx2dome.proto_client.h | 32 - .../simple_client_v2/hx2dome.proto_client.py | 38 - .../simple_client_v2/hx2dome.proto_server.py | 40 - .../simple_client_v2/hx2dome_pb2.py | 405 --- .../simple_client_v2/hx2dome_pb2_grpc.py | 370 -- .../simple_client_v2/main.cpp | 20 - 166 files changed, 2 insertions(+), 30382 deletions(-) delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/Astrometric.png delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/DomePro.iss delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/DomePro.xcodeproj/project.pbxproj delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/DomePro.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui delete mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall delete mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh delete mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh delete mode 100755 domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basiciniutilinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basicstringinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/deviceinfointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/domedriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverinfointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverrootinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/linkinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/loggerinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mutexinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sberrorx.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serxinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sleeperinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/theskyxfacadefordriversinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/tickcountinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/main.h delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/rti_zone_logo.ico delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp delete mode 100644 domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile delete mode 100755 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.txt delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basiciniutilinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basicstringinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/deviceinfointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/domedriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverinfointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverrootinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/linkinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/loggerinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mutexinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sberrorx.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serxinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sleeperinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/theskyxfacadefordriversinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/tickcountinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h delete mode 100644 domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h delete mode 100644 domehunter/protos/example_grpc_code/X2_client_test/Makefile delete mode 100644 domehunter/protos/example_grpc_code/X2_client_test/test.cpp delete mode 100644 domehunter/protos/example_grpc_code/simple_client/Makefile delete mode 100755 domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh delete mode 100755 domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.cc delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2_grpc.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/Makefile delete mode 100755 domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh delete mode 100755 domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.cc delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py delete mode 100644 domehunter/protos/example_grpc_code/simple_client_v2/main.cpp diff --git a/README.rst b/README.rst index a924074..8a139db 100644 --- a/README.rst +++ b/README.rst @@ -26,7 +26,8 @@ and tracks the dome position using an encoder. It returns infomation Requirements --------------- -``grpc`` See instructions `here `_. +``grpc python`` See instructions `here `_. +``grpc c++`` See instructions `here `_. Getting Started --------------- diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/Astrometric.png b/domehunter/protos/example_domepro_driver/X2-DomePro-master/Astrometric.png deleted file mode 100644 index c0c178bc1f644fc513ef3d55b7d383b886aed6ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35929 zcmV*^Kr6qAP)KLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3G}Nk)ASN;XB>*OYxCtR&i4+S#wj%^c>V8-LMswZJ??h!-mA_T)Rg8az?`K0eNKB*@ znrnNn6%&m?M2yo2zP2*Y5uc^LPWb*VMezMX`mV3}EUJBuIxpU&NkjR&2tNZUg3oHg zd-r{Ytn&KGy&AzeudGWEe8!b$<6kooW2?MQvp&>+)%Bvzd*GgYL#zBS2|q-?@e`1U+Z2oO@b#qs-bHx9MQz@w1z+A!sv!{SXZjb0 z2!4K~@wvc_UTrLa-wC~O4Qx0g;@OG+ogvcwJv0aYO{KY(I!97-t*Xyxg3nfsGwQRA z8V?b37`29#!!`2I0l)&j4BQW#E&tL))RkX*5AZ#pYy6E;xdyKF3CyVsk2~^9gs&O; zUTO@Fe@;Y{wF}z=&E>QoE`0Z@KH%~%1SArIWYVNq^k2pZzE>!xl+;*pl(9ulnw)si ztEazqAw_L|LD;nuRlFwee$@qBnJN+XuJ9Su%6v$@!3aIPs4@9Aq<`LpI`692;yXe8 z22J>`rJlqg1L?n>ZbJjY(0IfVa}x4G(0e+O-t9#57qGgQ0PBF~fL_1fbt#g615)Fg z(D7YQ1{aF-ewLceEamv?E5^eAyYl-{!US&vO98?O8n*J^@QtnfZDlM%W0<67?MP*V zNzKWpF>JP^Yf^pCRh777kxa0Gm4)RqD%#J|UPp$Xb6~78d@c3Y(m(gQ@J&XK$M0rJ z88Kw3`C$Jrr6xQQ%KL==y}FGirS>iQHRD^8{)0$HOux{bu>PS+<#$rKPpPag-J#?= zxXSYi6U;FaJU=nPI^PGru9{e%3l*}4M%a=|y&-jfcHG!dYBrAwCh9Do^gnntT#*+Tm&ow-g>T^@z;Wo9 z)JR=j8r$-FG>Tyh#Cgi1ky2TBLRkpD_)$h#djIQ;;I(z2Y9$ud#Y8IRA~oKRh(29~ z;fr?(J_D&+2O`=-4P4yNcmkq&n5Q%L6NQ<9ut8K=6C&b3kqXc!tFJR{i0D5gR1nvH z5Qv~RETRB-|7XaF;_*9xt{AWmArpExh~P#jpTbh0J-z~`oid2Z0&{#Ina>CFPiDY! z3;oZ5Iq-uo(ia!|$00RwuQI;CDdG4QW1cIoyqb}b9HnAWS^P>o>34IbR6r>ibpM3! z=gQ|f;mswaChOw8UdmvcDU`XFieb|kNTGRNIxh|-3_x-1WjX$p3V`LC6H#qp>Yj}V ze}@0SkcyG=$M;eRKm34Y$lw`aVjjOJ@&Xot|C|HMo!^z;{5dI1Cg)>r(2dNU; zIEuRpP-4}}dGz;>A)Qk2^YCq8|ALpw-zC8ml~CP5{~XA0EbreCLUnP~xL^80Buz*m zHS-{&41;nKsoskUmPyqklNwk>R&lj2G~TW9w!qw~r@ags?|?y7_kftdlN8m5EQDex z343=^*$z@FCp{7CK<~T;y@Lp^-u-F?W*Hz8q0vbtKCkw0M74(~!$v?#Wg`3lmkh^a zQUwX6Cfb?Z0v~1daG(OvShTfIqPeMtGiQgDcw9YQqhf0Ry@??3hz=8&2#-L2 z|5BG_^m}D89G<9i<-b_Kftp~`>eh-1REi4$OQS+Q!ka1bKoXj42;rva$$7{;QMJh%t;F0U>qmruEW(_J|NuxRvp`^uhK$&!^ELIfsRRKW! z8(v17OsEUXztQ}lr2>`+#b|`Q520B+QnQ%yTy^zYYHMmaed@dtrf5F1@}CplI4S_7 zBJ!e&3m5QssA4cw%P;h4&8nxc&~G{+f?gL&M#8^11Ne|&;x8HPUFy6>p#$a=4@k`p z>6WQbK)VY;-US*1r^NVD0Y;@7rs&4t;~MzE^-zkOX!l;KfM~V7Sw`T5X7LL-?hc23 zuP$7vY*t5;f>T{f8Jr~lrYWcTw5Y!%L^!IXO=QHzRMJ;6Dy&h)=|~JS!9^D>;q;k4 zhKB~nae)A!ql6j$xIDxys1`aYA(Rk$BtEn${8&oaYmy4aA~oqqp)n#6hDQk3*h`@w zyFc6rx&Myu0FlvvZYUEW^;lrQuq(zWu)KwS{rZhq07H@C&8giszI7;dX=WMZ%LIP* z5vbHuqL2#qAS0q6sT|0vp@`xMgujgN0+brd?a#gIP8q3p`=sV{muh?_y@jPbbVPWO zNujxh6Fi~Rg)bBkQ$&Oi+6l5~X>I0`^~*ST=p<4WgIJN2(fN8Q!!BpY@X2sWD$3;NK8ZHS*F&%u-@m9S9u&@l=B*!x<6(X)b)gsV?3Z3SceN ztddIg^#N=`vxCG1a5H4Y29>@|E~`C58GM}|cvLewYPL&?@Y=5G(M8{jaY3;=RTf9p z9D5b~K0wX3pqf_Usw-^b9D#=7rpwhTNgL z@>0#qGhtK~LehmU9je6fY7RTft)1vOfj<5WaRPKW??hlT(cXbn4Ug|RS2na%VrLCl z99oy+f;Niwc?%s-s==XDM?{U`Lx~2d#QubzcN9RZ#ZIEvlo5^ct7yIkaFM!LJ%Xqa z2q84DmzvX0DjPfMq>&1NN%|ko1pt2{!ZpX>`Wr6heD46qkDmq13jjgYTr(QbPqU}A z9=M#?I0w>A>S?WRRH-5O2n|xK!yY2gY@s3DsD>znkqCXAh}HnAVS)mJu;&z-VYJ zlWG(s;Z$A)HC5essX;$w7!Z=`=Q|p3(f3{lnp$dj z$?w%jC+Kyk*H9^?QEsVJH>L=CIZ{1!)y#?xY;%0ScY1ztqLCy@@QwwOrwICTUn%}FnX9{19o zGFl8kUZ5+a8U)8@Foecy&{-ZQj5i2{ffulpK4OJbHn*P&EPOyC28p(x8=k11*TEOK%cwI8`H80Z)Z;>d9!sA%w<*5t=GG zsXxuslT1j$6`NAy2}JQsL_|DG&{I+CP(mS8*%&#RyuXskP>q@zI%xmZ7%eSb*YAaj z@K{4=y+XkjO6JYaDez-rQaLyURlF#j2M{p0&IB8NqFi*9a6udQ>Ee`#2P}zj?|g`8 zU>!+4P^a6hTHndyWj9_9NKTwMi*#~fcT4JuJ*rekhA<0#=B>IBmf?F--FUz8lS(Ke zm8?Z5d*MtR|Az9@{?kfoij_1AURL9kL>(NOy8RFvPg4~se5^|u;i5~baP%iQ5QV66 z{0n_LRILfoWu^U8Z9fmdzsCLL^Zk^KPmo=5XF|Nxc?5dbv4YLGo5@s&(2*3#!vsMiKe#Qx%rsys;FwTv*zrSkW+#U7f; z4+t!1Vlt`u_(~1C3<{5gyoK`Xa$I%Q2HM+Oux*2FTlWBoaE?E)xHaf*s2E366F{}t z&7eACQEJjsMlf^=%$d~l(Y1;}I)B!0)C?ktDHuUu&hHAV6{12-e?e7Yhf26)guM(E z)D`OKD}4Z@2#(3m77c`=BKki4o>yQ!D<{6tctBcF5FbVn0(g~lc0g%Kb9kzSbV6J} z7C=UUeX83eB0L_QhaiZgj;be^(8SSF6QfBbKdpj0Dg`)@BJ@v=6P`53{o7@iuBN56 ziDI$D;ln394?rD@(1TdAin|;-F(df;>SA*w*tR!5jntG-V_Fd=y@Xh4B07B)8T%?5 zIy4RuPUot?XJl9uphlskye$q*8Sn6;wHiBPs~h@?UjsMHLMUod>LP zM1-bFS9j=y_Fhyt9?AklAg5Ya-yy^bl+_HuL>y~bMVKMV4n-Ln8JSKFr&V+u{327Q zPiOY*ZcH=A;NURBLn9i&5aloqDJ2O_u2||BT~y<^1GbH63SNKbHO!bb2^=T-KK-N; zso^D{rbwk`{wD}aWVC~zN2_IY%3U{>31e;qYC z&X1;2Q>#y?cq#tu%Y@;PtP)2DJOEv4iHK8Mx7jp86Op;)3m^&kQ*BZMeyN`)HPlPL zAcxLKY4gYcMV2p}!_=u=n5M~r14lJn0ZnRC)kjcOUZgHht??K_Cxru8y!{kUpa&m`;3#OzhBcJvNRLTZ2qde3fMqJK@a3rki&qT|eEa|{lTK=sYoda4 z8J#Hzg(D)2`syYM4brX}1EEnF^2ThKNfs}jNg|OXkw~)nrR{_XKtiL{rsJF|cuDzp zLWDs{ZJDS9r^Mw~t>Ha?dppTQjMXdWAk0`e-t>b_YDU7(oe-K6Q3a}`1jp96`AS}1 zC}D-pFiW-kSuNaBGCqNjL4@<%fqN4A3P?3Z77+p`AtfngE+exr{OlD<8)1KAr^}% z<5gtGrPSBE2Pm$7kV*u(@(zYei*F>8Nw~lx5nc`v%D7S!hDGTy$O&o@CQ3&}$)~Aa22wxIvKj^=B7{NE^YLwo z88`UCXD{X5f3pnfxW5bb4bT_@HGHuhY8w)K@$(n)raR~H`q$0nnrpgU09Yy^olp+7 z5C$Turk9NXAfmdBp$b1uHJ{L&xH`lqQW+(JH=yHdM^>(BT%f4DxIh1`xKKjGx%{#< z1bI2GQ{Ol<-Y{jHj}2danD<>iFgr;!m#DM(GOTli$c14J4fAf~v@fj1H6kxM5S(+W-LrB?Vu65a%N|aFVONLchboJ&T%{GhG zs~3>Tq$w7QWHK4HZ`%#B1V%iZ-V%h%I|C<>rp=e1p%zsbVmn|6-u>=Zv3&U)zWJ?( z*tu;pmu^^0u~;IJh||{U^(RopM%DSL%(p>Mq!dkkIf!_S+g`qw{Rhu*;Gn>&?8 zN(}<(=i_T~1TIzvB zbv}Klr<|^mP6UWX)26m@(fTA-sV?5FD+QAcuEtb-ecNQTD2ZoJz>$DI+4~#Xw+|Yr@xq(8xXL18ae0?8mgR# zM3Gb+CUvzlWBL^G`2y|j4UCSBaqe8dg7ijEJwtGX&{Q|-dJiaQykn87Y2e-Oyp5LT zdfxS}FVox83&a>49HCGwAq+uHO%f4{AuWeU)>nCcEE}-BzZ+o0#!p-6r`Hy^?d7XU zrxNVmbBaQC1k6-0HD|l0Q{b~~$L&FB#KABX&%^gR%MO-{8woIlM($iWB`phLF)t+W z43g!ARtVQEHk78IWrJebo&h%@5!0^&U2lf+XP0c>92wp?G{(r0UiOjJHrsdg zhCNZ~0fK&`P@X@_ap%<(!4ORt?!PfZ@oF?QVE6PE4!j8Hry1joGITe)Qu%^7!MMT{lv~@Nkx5(Lw;3Oqz5$ zL3SkT&7n}}(85FSOVlGi!u2#v6Kso2eJ$D1JQzmhy|Hwf*|XX?cC3%wSiya*-^DIDfK9TdhN;~xq|ivMR?R_i}uOQ^!MkmN{-8bbS!Eb>zFaUnS9RT;GuqZ@h5!YLCM8! zx@We~+??jjnNfO94SO3{CuuH%oQ$HI`Dp2^qobn+(=a%5c8uOL!>$1>Z(>>gESu|Y zTEG>Tb#wak2#-B}+}#(&qC3yRorg?gitL!>*)jKXVl{DQFKpr1@nLc!mV0eSLdl|i zN&`|#&iCY9BPTQ>rv-Pc?NjRL?8s0kIvhSaLTRJ`$+(8$C^Q~`zl=A4)}oXgI^l}8 zkjtgScPO!r(46>@@rnlFFULHUxY8jckQm5X2o2J!;u0pyS1ceNkCRL$X=-ZXFMoN0 zfq@~7kx~#gsX?7Xf+qeLP*WQ&+>@Zavz7P1_thLcbegY!^S2c8SuoRJI}8quQY@B` zKq?t0nT(Si3CHp7XOcraNAqmjbb#-D{}J}@I{`+5E3R6` z#p~vB+2u>wJz$n*Vvy_!9rXvwN{Ku^vIB<@)zw>%-ym1*H_|VTdwErwf$#QpFgmP zzy4*fyXb{6K2If^bX|(K-g6mOUNMJ{{o^0mz5N)Ct&P0yH7mLH8uwbIlFdt7PjUZO zpXSJc^R5RXVbz+cyzvbySiZc=H8>*$e)jVn{O~6);aJk!Oe%P3cpihnnv16J%G(#P zYGo%44Xzh7IGE>&r%v$g|JX|J`79WMMAGEtub9V@#cf=7?Q~M97>)z4xnmyjm_e>! z^T31q85}6^*0(L?#_Ol^fq!_4L;DB8mMmS>!QZ`W8EaN|@QrWp;5*;m3560Zlj^wR zm9x41m70nAFsf4*gZ8$t1~Sk__mcotCNGr>m=pIkUT1xndSm zrnK^ozxf8;-R=Cxciv57Lk*>pMWI-tv9X4?zwH_fA;{&6#A7Dy9Sywk&Py>2gB8oC zacJKWuDp5;_kZb5rc7=ok&Ll+^$dRWlN5!qyo+NcV!Z2buH~)wTt-KG9fgujE?Wd4 z=&nz(aDFG3Up|+wfAa~xdjBI3_dGb;V%n^BzVNwQx$4R}^!I0p#{?_a%;5en-Ohq} z?H~lEY2Y}Lg$q0An$*DC-}x(s`p5YAC$HztZ&*o9O#&eVh5@!MSunqye6hsO{&QQH zdFcRFiKg~CKJoF(xcR1eNXKFCzCQNs>1ENPc2+F!WcjiVX3S{d-S7Deh0!9n-?4x% z{mT_3lO~0{O+IfieR@3~`|x^91NsK?95^_@%Wjy#>s~z{!+;gb+Bvl6JXc;jll#AT zIa4Orl1!ScS=G*uYvbH}{cPU(&LzyB(})=peC6M_D~GOtqC=`a!G}JujJw`Amw4PH zpLdy?4fP3T&Zy&(i#teXUgW=iamY1z5kO!p{5u&T7438P)x4&KGZ$^3X#s(9zMrisdt?ug~z(mLr@z z)ki!QWAENmoI5|l$3FTBw=G(!M0Tve%sJEf^1t3mO>K&7u1IZNl5;)7lnMoqHVrKe zeB$G`^7_}UC!Z_vz=NCl!~bmOz@c7}$rzVkHkY^GvwT#LLw34NB_BrQ>TZS($&ay*UqK6Im5cO-Q01<5@t+q z;r3e>^6YcR*sgmQp7L>&pdmIR4T?jcP(akxIn2S$!1H;oZrruzjzrnwQ;h!5_Pq4PMsbj9y9pp zN7m5Uk-@SY4jmchxsB&sY@mEt7Hk??)BN*i*YUd7%x25hUcUFey}Y=km)e>b_r7l_ zS6<#l%oM!(RWtb2Z;xP=q`uH7m~Gq3au1MVme{V-TS$ zfDukjg{Zj>@kA|4m(0bsU7)O?p@B1J&T{Zjxdd334vGi^LN)SgN>%tmn6gc^NM~xf z`|g`)Y^>!g|Mmdq&z*MxIN!b6wo@K5=~R+*DiNCVcp||+{o|cX>T2Phw|A(kRi= z*2cx_=Wz2)D=C$1a=8+p`oya^bhwB6@Bag9*UjPPn^y41qq}fQ1#0SQ`P`>p$(^rT z&#~kEeCo5m=T{GG^wy9|E#AHTFz3&Y^7+r+#-z@A-gxI)HobV1Lf!^5&L1D%&cA=X zlXt!25;{8S`1nVzUbZ2{PSV1xO^(fxJgrE3NU!)iQ_!;#3Al{(@HM8w40+x2YLJ7{F%{#TxE@P zOseN+Ki|X6H_h_q&*oDfU&o5;wnWCXYXPijlr7U;gS=KK|j=)Yit? zwCOy9Lxpk0A>nYxU-?JP$IOyRt4*z=pPS&q&r=})Gv0!_S zgNV!x8X;*YAvLT(H0mlMT#2RfMWjZDUq~W*;7tew3Vm7!qS<0PZ9rc`&PkoEtXaK` zfq_9x)1;=Rh7%`FbM)w`ar-DPM72jvsD_mmcnpXlYlp|h^nW5ytsrtf?oU;4@)IC-*sh?8 zolkt`Nq+pjm)y0TFazr@la67U28EK%z)-=3d%}ZPR_~1W0&#{98kczu=Yntrb-N$23oWUwde(;n1*abVH zlCnYtM*jj`2OYJNDx~4BV}XdUXkt`qOh)ysr%G3uDuwAfU`{DCnmMbB*0vVL#>S|v zttA#SIdkSb=gyr+D+3gu=}!UVC8chI?_w2WYgG?rn#xcokQCJkz(zdX*4yZ*}uPs z&wl>TjExrDjqkhdy1E3WVIYLyyFYk=-P@15VT9i{#tqUb7wS6KGe$038h>_ilXt&+ zEmvMKodnPBD0PHJl6oIX9mwyoz}!|F(yn$s*@(vEFAY<%I2 z3w|0wVUR?^LXmJDv}G6`F0p+_uR9+A zMVm`5>*Aif7BD(y@x}YMacFO!n?)&SgH1sx=kSToyu?kf_!EDAMrvX)} zq(t9~EW}>Y$WRLz*@q(xLRRVbF1P?Nkmz#AfPSFRMk{74&W$%-PBxpxFbrB-Tai-I z)6MB;PoXbQ1{WNVY4YXczF-GN~x&JzjLnfV~ zwl-GS{5zr zrc|WwZ9_`Q&wlYNn>Ox)Sjv5Y;f6Emx-|E`?|NEVYIyR= zef;>x&v>_BXnGyEhGlp-hvP^L!@wwSI>(`HQWJCLv|-zlzdX91Gbj2Wo(vh{Idj^` zWa1n?+|R}rj*q8o<#>L+t|85wSuIE;d-k2jcDzhh$>y3H=5qI4D>;37gdhH78^vr6 z63Ovl+737cUVi&huDNPD#iGqGf3=T+^P`Z6gDvTvT*s_g4fOWrcy8kv_dRAXb-ZM8 zE7PXdBPIOozxJ`|`BRWgj88=}=03_etX|bYJRvx+W02ElbCnEHrZLF}-n*3M<|GgP z`Y?a~^Kth%8Opkg!O7#JoIEz-K66pE_@qn(^8eo7pPn%PTPo$lp;%XhK`{|QpA>#- zu_kwq&}1MK>ax1o)e}FUj4J|+xJjMOEMK;Wv9T=ic$`EcNvTxi^y!}Ql&7dhSkl$8 zYQRaMp(Wc6v**p^EqC9{@Nkw(H!S0d%U5EWBAjLQhFvOISeEU10DkYrp}sCdU2U3t zzR3D@^ZDL)-pfP3-^ivH_wnKj2f-@1r=t-xP%~$CGGlrNr%(6u;-&*0_1mm$##kcF zs+BWHrQ#eqe3qa7{8bJtmp9qn^-^a1jXLrY7VMT0GC6d3h@bvqpL=SDQsja}(qPr9 zHcZ1{>-Ihd`}3|bu`F)7aW<<~v@tMH;Lneopg5LyJqT4`)f-n38&ml=__6?@vRI{b zSKE3_qp+iHLY)q}x}kN#pMHXmT5>8C(F#BF&d<>YeOqNeuqiFpu3e02niPvg8XFr) zBw~z?W!Zn=h#UV4O+(FUEv_quQAYQ%tNh;KZ{G0=CU>=Qu4jOJu7GJ8k?dZ8hK5?= zanp;2{9cAZf8Q`CPM&A_^bQWd4 zG70{=^El^vh857%rlF~U#f!Uf9EV3A-No5ced8X2XCx4DuDoI)t*y1}+kcL~{AE`- zTOyTgP%Ose$&JM0CVl;5^!1HZp7s2Bopg0JuxH;nUfg^v=#qPGd3|#&ixzZHC|YcO z=>)}G4&rGA5Qe#P+UV|X;LzcIw(U6MG4e{RxnvfrR!m}GAjiXhJU~9110w}R3z3Mi zYJE4adc^{6zjZzx?HT^`mm}Qw505fC=ZoICZDYj(V)H-I*Y#^Jnc<%W#Sh*s^Ow3fAtFM|uQ&W;nFZJ-q zUr&P>SMVvJr<`kDf1whAbQ`-`VSxyfPgHKQL}>vf!u+0)f{WDf0@R8(T}N5;9)=dP zlND0aC6}zmaa?dMolX;r#pvrBV9(xzUK*|%E~$}ag&|9&e7MOs~DME zZ=O#_dkx!n^sswRFP+_O%$wW7B^Pyb$tB$^nAb*KZJfS=JfHuUXZhBDyu?s%&fEO% z`tF)k$GSC>$mK0|?&`xSlpv7^Jo`x%*S;O1jb{msATlx04|AU=7b^%EZN!0=<>#=Pitev@|lc|=GnRHgbO|z z>A*ZMUerxQ6&uZ9?4ht4cV%E%dve^QgHXT(QH=WB=V#U&K+S=Cu7?-n>QbKH%v@@);6nFcGKEY%btBb?B3m@;1=#T$#k5H*G~lj zJ9qVv8+Jj|_O1pNEo!G!a%gMI@T2eFMt4^|EiGwEmc#k;S@!Ph<>_Zn@X+rLuxqQA zi%29g@cJ|aix;)f+?3+QO=sDEa6nm0L89Fy7k83Q$2fL; zm=niGDtl=4iZ*7?Y+!86;>FG9$E!QFIGI4(d^Ey+jcE~nzbmV(vk>^_XTOC!0-*~gE6@-T>$?^N~I3HbWPIW~qj2BB5n6%dQD zW7|PKxNSd^ySupYWovout1n~G!f6x=C8kgBAd^WjRLp{OSiN!<_4R2^ob2V$;j`o1 zi89sNG+Dc57BSOc`;KD_4vYokO~*A-^XE>Yxw)2sfiVsoJcqumwf8I>i7;bacg+Gi z+Uq%Tq?c!&JzPn-&YRoLlEq#059HXk@SSR=l&X%lB9J~9V?c$ zfrP#L2N@m6LM(=1##p?lnMBH9c%;aIL&L7KBYcHVB2q0hnmiXI0;wmK6Q%*H_53Qi zMylYP>Z;2sve5XNawr>KXetyd*rLEN1-4~*x1y>3QyGEMA(70mWXU|tn2BYTXliOA znM`8aHruxD(h!ssvXl>eLrR2UVwzyte(S556UU~uu8}vr;bk;6)$@&S{X2cO zXV@iXEttxN4YQGsWb;eM*}MCc7nZ=POxHm2LPKkpJk|L#LZOrvS4j3HC(n~GKG@Ow(aNLm_89xXzKzTi=|6j zXm3w5I8Z(os+ z(6s$lyYu?pK`HdwY}&Tint~dIq_lX^OcpMh>(X|m9l;y&r#ef_m@%DcQ@hA!^Ei$} zO-+sKSlTu_cklD%|ApRyI<8wozZ7VaJZ66!JxI zY*MwgELt=b%d*+D`5=Wck4;wDybep2bko_{NYA-J4jedxPBvVa2I+JH>D{jk^nF$4 z&vs+h+iqFL+&S%>?;YiPKX|5mFk_e|t5;6N5U_3gDFz3!8XmjDjA>0wo!Z36NS^1O zKc>89{Bu_=?;@RwvHxHn$BqqnrO<+!+60NX>v5euH^z~}XBq4n^HOmM7p0GxyZ{ZgORW^#Q-L>%R0_sX*WjHob zOKC$@h6H7+s=6#ez(P7j@&$`ee&Pe%cH1qk5pb+%@{n}n$2qgRX>V_(P$(dTpr)n< z$B~puHir%#Bf6cka5p|#+S;0U|GjVIgZJIVv12`y3O?CpZ6_p$n!0-4{dpV&+`1UhuqC3p{2Ek#f!SgW{W)c+)=DTK9~WJ5`@Wu1)VfC zrP;OTEPMC&_>gx|sj;tXs&NZ|3KlQCcoHk0^R6W;_Q@~=vu8EC_mwclIrrs{EZSf@ zTzAuKF5b{RPRhY%`O*&BTGO2G9b@ONUSF!R++WgW&8l`%sTfC(4sqzn@Oa6(2pUBr z9%tc#CQ>Pry?X~au&2LbfTWjbkrL`^6LhqvJ!7P-?Se&fN1A{B%vvtJq!S9(1+i<5 zNTgqC5N@fH{g!$`UzHRT(&raSRa}%(kc=SQxWhku_yij_ZsL=lypPX)?h~X^Nf*pQ ztu}P89Z%Gy2Z;Ea-~N%7{pUc*m+`UP&e zk?pl$%-|})6FP_DoJx6);(HGsCS;NqzazwD%h+~sTr)X(y zbUj8#Vp$f+R2?7r@auWYUDt8-Rm*{*Qln91<%-$de%nR-&mTAO^wYa43wZVFIkdGk z(APJ@&Rxd{wmx^~cKOn2#7u)N+m3Ml?0N45C4|Ty*nfu6(LAYCg3B+R50pZrOspL9 z7ER+*|MYSubv5wlFIr4c6!w{@mF^Nf2TcB7NUwZ_T{JeNIC*k}V~6^E+KHl)#$LX(otP=uvh6(Q&yI|%`pDp^ z-9D*?nKK&5=WU*U;hZOp>00@*tj)Qe9I==nl`^^F@-DDT;|jqg2MR@I&u`|NU){hZ z7j3*T z*|L*^2M_YLx4nTM{pjn=oi_($cHB}{_M^?z?he+hS;pw-D7I~rN~JJO6T>h#e*6TZ z*@D8}bHFJf42N59y@CJy&wu5gKmP%mo11ypyFbmbqsM)Dag7YK1e_cT7cJnfH{V?O zyD)vC5~0p7K0Ls&K^VODwO2EJYA1z4iI&y|y1H82dX;#bQpx5`Z@iXSvuA^ocNd6l zvEkBHeC5k;r&zN2`Zs@1c67vb`{GH~t({A4CPge}GHq%H@lxgy80v&7-5EmVtpB2M_l9u4S`@14PqFA88aIB=g(fvq9t8!V;I9=%Jc?a zcjt0`_`_Ry|KF|STi@BjZ-2GN#VH(z*3Mey&1-hk$C)_Y)9Nu3Wjz52r4kF4wljZz zGx>teu@l4N-kEt4YdG(40-bg&(mHgytXqoZ7Z{ncE5-Ibg^-NU|pdtEr#Fe{&X#TBbr zzkU_@e4av~Kzn;Tb#-+llS%&a$dml#&(C?TnggleQXQ4v8-o66a(n7 z1#9YR_}u5-$-VEpgH$Sxl#+&q8rs_$`ThTFq);qz)fLN`G^vFvuUJOsq&DWypT@i2 z^>W_#zT0W2&+wrSeUCpq{G5vmNSn!1J9yhY*VED2NGcWQ#v4|0#~qh&(Zvh+%U`#1 z-F2(@@)zIC)TwPCB?}i!A(g3N%eG_KMSENk$RiH4}b^BTR&U^d?+ok@#|K7`a`#o!k#|>(0 z6Xf$HHf}!UiDQ@y_KnieRKq3fr(zm{8Pl7%{<=BbeA8U+eBDys{??V;cIyJ#+cJFq z3(s)>m!GFlv|YE{wpqHYle^!%lteN{OLLl+zkDvQy<2!=MuAI!vuAj=QUp0$&ylnxuy?h3vV;1jz-_tz#*HbRFSS9}GyLpeq zLV0&xDQjSZ>r`iT1w=xNItCjpXzKO_K_oqZWJ(POAkOh)CpmqlhxU$Eo`3!YR<2yh zcfNB!ixiO1tKH8oKxm8h+)Vc))kAT7^@jk9Lm z3hut^RlM?*H!(asOg1}8ZEZcD{>;~S{IRD%)CJ3r)i1|E7%{HB_9CWE?d0guGe{{t zRh*(1)2rQQ{NFlsb+vNYhNbkLAEa0;0fKnkq<>%(q~u3G`V-yVZM@-iSF>=zR2D9r zhHcx7jpf<0m6!^u|~snTRtylI6sSUW!GFc-*A1A%o*MOq<%uefQo< zZEcDZCwh@UIu+-N%NO#qpFc}aHXkgK5`dB5CqI3bWHQd%-+Cq8Q<`}F>(=wy*Q~>_ zCD~koJ$ugZ;IB6GCScZoFBolCCOBbl`FfcuTL`2I|dSJ znljw?{wwJ0sN?wY0fZr#JgI?&3p?1i=Um0}yzZL0y!pi)nAoFmpx|vt~6>EIRb{<@nQ|5An@!ZDR9_r@d;%aV?ZEtf96x&WRHv-u%V5;<9dj_KUsrj1*n4)pEFK zeJ6Lkat>o-B?gCFCTK%rk{L7V*|gEE4kT%E_QVLE|H4ar`jcx}Fu#$umJ}UrX-XxV z^XKzC@Ze#-^0gft-aFuCE_5-y(1!v7VSWk8y(%doxEO^(f7hd~0kv7FrnJ=p1pf_(>ZA> zU%CGuky27BmB?f=EL^w{DJ8YFHN4`Ecd+?|r&+ReEw6j+%X!OPuO^vFbNu*m9LHhm z)NVfdv47>;-}(uN8bu7n2zoX?BiYp4$h2u)7{c(nJ~`|^c!JzWHppMEcn#w@^H{=U z#`MY5*Vp1W4u&wW9EXDkPBS)|b3GNqYX>6=vaA=HOJCE}4pI%~Yc*Nao za(pfYg6T6lXl|~@u^kMl^+LpzV zGKJJ%$(Q4 zjW={NeOeuk11C?7v1#*po_qSN`?{E^uuf$p1=#!kv;gx<2<{Dmej-9!UG0G$5LQ$* z&qYvoT{S2|arLFp$XRPPzX}dXNlR-ZAO44TlS(B?CX-xt*=3~DX)>8KXV3QV(T{x= z%PR8bH@%utsYIbrpsTBkY15`*nkGFx=eh5LpXP=euHn{OuVv2c8T9t{bMD+ZGMNn1 zrgif#U;GxI`Se%EH^0stopV@a-`mF1WZRQnldVaUZQHgzXPRtda;Lr-lkFzkw(WZN z@9n?3&b6=BK6^du!F_-B{^I+Di@+OfP#*pe>RanouNCVUXsQ;c(7svSVz%`05_>R6 zsm00IRv%5&0H%qA#hks}byZZL=4Nwu*QQsQ_4GFQzeFU*#H&CpsX{DLogW-psT>nR z;Qwlup59XywMJCR*@axxx~#0z4#zf|{t->m=gTf!@qTu{ikrOiN)X; zZ^tx>*m0tZ4nl&0eS!DgAB03xZLa3vwCmjRc4FXxzaGp~)(_;GCuP9L41_lJNAM>N zZt6;xm>rT)t1D4!!!aT8WyTYQ=?EJx0bzWOVg}t-@zmSyV}gGDNEh^Bw_B|G@~5*i z_V&=v=VpXfrdSo8oDMe%crfD*4lM0gEsc%i-TB9(31({?e)aTxmy(hKg0{tI@`(Sb zp2)WN*B2||p(|}avF`x`FoWI7bTgntMxI_+MG5_C_MlNesAvU__TX@MZz#w@qN_3q zGA-g49WNtDMDG^WYA36(j zGeFSf$kfRXi+T~xvjpI1wymF0F54RU@rOki3LT4)tF9~X1IMaKpSWU4ILd-h;DxQi z(sNA<21GF^YM?vD$n!LpM3jID=*CJFb9ROk00V;yEZi?(A;ldXBx7|o4n(t@9d~)= z?(WGzeoLd2+rOlpdV4s@!Ot%%E)JbU<8hU>Dg3Wg`2CWXG=kH_0Ga_!%;Y(O;io)5 zVMA3Z3C83Ide6(3^JJS=Cb+US_BB!UlNS8#2_bb}C>)dMc=du6+%YBmB#hGth7Rf} zP9vOoJI*-;)!e_zo1JBR(bo8kT%~0bZMcZBnvMxHlIb$#8=e-9@4XyiHh$H_iK>6S zGzc?2>n!>QY4!IH{%W@Bdgtr>Qx(UbE@3Xf4rZ9+K_wC1m+>Q@!bI@A+!$|hI|S5q zDWPA7TZ zh#fWSc5AkTq(UswgqOhI694k6a=+8DTiT}6N_rGlR#VN!=`GG_yre6XhbBd6a|}nY z%wx3U<(ua)#HjTDw3{k7|BHYFPNv`^FDC*iqx}$hRy=yMp{}`|y?<~6HEk0_tE-xUB#mr2N1X+? zZ)cmx9KzHLmu^DH!*Z)-Bce2}g?c&He~|@IzZ#g}?KH}63xus21Dd0U+rL~0Al}XX zb&b;C31PR-ct80o*4WvKFMZ@Q5+cJ&u}1roPCbG8@ly*nQXU3X!0Y@l(~iZ%q{2Hp zKcC$5d}W~3ggeg1_g-#zX9Q`DB0Xir}N?d((P=?B{Nfx zE``Yn`=X?tIW6lvZj4zkpCQd96LET!vO}HoE#)Z&sYj?h;4&+&P9Goim{*98BKcd! zdQCSc+J|g!mX1}yJpzPS4qq-Nli%f0(5^;3hHWds5DL?PF0KxWvYU(TVHi}NC)1R1 zfh)R;K0;yS%C76~oQ~lM6{?;{m|@llzOsM}KOim0LbS&4N!cLcPaxhmn*Yizq-&d< zPC%I;A1_Y>t{jP1ER`-!q{5V8=c2b|Cpb9)R#}-}TN`qaN~5c%TUIePH9M;&^L4pt zyj-Iqo!fyh=xz5a5Y_)>aQt%TSK!YnQKnNiGD7Q~nnE`-GsDTaQfK(>AOP4{>{okO zVL&FV?ChG;m`r#lcaLZ)3_3W|6Q*E^piR*MYa&q3uyt%gLhYzsQ8F@WY|AA_J7@kr zD}Sa}R1i9R-=FwzDsrEi@$-H1`fJ|GS+FuHOfDYjc{;d9(vM8HLcuc`})>$fw9r_?`$~olJsc;rk zDD+C%HJZ7*zf;7~gvR<(7NZi)VP3;+>BdH&j)d7-R$i)JO?9Hv7e$L~hV2@;h2I01 zRBAG+V0DY#d2@EhytYhEuz93Bza&ErO_FQ^7!0Ik;sF6dF)=6&jg2$PMoJ7hy_^QW zE&J5MJ%j{wmLpOvre|h)fqjopNZ4D)GdoGj+9c5ME#JFtZ{Te9pVnWZ)Br z9x9d}>>ywW&rF9MnJu(^W6g+q%?H_`_tyosg+=Q>JG0U-GT;ydtT5+oh0vDJys-5lW5LvqYB0bECJ>--ZXqyF)kgzJ$Lm|u3y9jDVDwj>o z2QIuT$Pzqz&GV|i63;J1Z{9w+u_1pK%!O~?WQAelNDq1-D!)Gcbt#^_E^%o!&@Igp5l>$8GO9VM1;53%NAQST$08WSR#4y!q0YR_ckm^|8FeXNwXCD#V`&9Sh(BlOMfa9ZHtKR*G&H;O$-R#PlxO$J zk~$It9>{*EAbhW>(K=(X;`c~~Wdlx08r7A)~g!}B=+QErZO`wvfz>#!Gj=wnqm$iXetiA5m6^d$4gU146V;L zx2xRxXz`laGey}Drp&h53yx-$`G-bDYG{0-n8EL7J$@^yJ3ZT+Yt7U6yYkub>ARog z?e0Ez`nfoI}^_4K(&^!6DJsf*N%pppN0h$Vz zG}$d6#C)8>Ld;i(5u+BzPq7W^LsBdHMvNsE{Yx$NJoj$n1&EZX=P-jNIx|R7gF_lu zci2N66rq>m%60Zk-_+@eiv2ez2)s~2?dpSB?5_(u}Rnp zs-56VAIHlh^8CXJH67_`B91GiU`6Q}jtD!~7KUc1u_pr8xSFL}nCRgC6bsqj-ae@k zp#j;TM-4>`?cjtZ$QGA@Wz@8^jQDg6!gfBg9_wLO1+ zvP0~@-uW?=*uXYZmzWq2n(mTy;RfNyJA&I)R1aca=$*x zfGD%Pd=JBDvqZNktPW_&uur#`RuqD19zsSnm>lQegcqzWPK3gdM}@iSnc@EB#u}fr zlPJ;zpT_bZ6-FGE5|uO!WPUFhg`bH8#W7*H`pf_pP(T6YGH@QKs3n2J2|pAJ zo7Q@;>yRLHQ`?kBVN2ewfK66eS$X&PSReEm$kMWhS)!OT3fw+EpBt(c{aAGdoNioq zTCfRz$T$YneKMB3EW@B`0_Q@IP0)Q6!y&k;=|71aX7lM zh#6rQBwN1IbjIk@HCHzN-0oD8m0{89Z5sT}HWcEY?;qMSl;9xu*UJzdB6?K)si(7< zMv5neSpVOC5Dbjt&w@Lqz6=DB?XqlJ&h;uG@@q^smTt_{ZY|f46;v(ubnx8$3Oq!R z;qF(o<~T_jJqzq&Td2T>xTS4gZpG;mb*A1WYiu|2__4SQHd8}*RhBcE{#`0e7t9e} zuz8&++307nD*efcZCQ1-IJ^oZuET1HHj`;4P3*4sqCD{M^1AH6_&r`&EZ13Za&k_s zua9r{{Q{Jz(WR9(rmLRRB-$T!4pFAlh`ES`X3|4ovdtz74ng*VkXI-ZQSK~S0nIXL zpAcs~$216oHP!u_(0T_M7CmJAeN`1rY=<#7Z6>}8kf<^I-&`vuJuzQNZZZ61 zS=0g3KmU+d6SZ@5|HSvsvovPAXb{dNUq}eTIm7O{v06QNNIj7%B$$A?)3xRIQ5-)+3ukr+q^ ze3-^4l15m$xq(c+pEY{4>$gN`huixyTexp66?XqQY-o)+CQN@|- zuGml#=ypg`aY`+**9}WD9((U;ydl44Ln4KkLqn0T++JA0R{jampJ8%Xy_{`#W2|G7 zpwq6Lh*cStnPTCW?7aq}0aO;JX`z&7i}F2|N9L2Y?r;6n+@{Um=F{&qDImv2WJ)%>*_lAr1xD8=Z@{YUqjzMMF9J|d)Cy`$?_u+pUH7&W{~ zIVEC(Sd3o;*+q<#qWGlzOtzqyRD6NOl3IlAT45q(_>`O%QoapORqe?VlWu!3&)PF0 z<_JuSer|0o8*<+jxBG9P!vcI!b^jqEl-Z-p&;GA=c35rlG0q42QW>jGU8wl9&FbaV z$lGaqmEPo7A68GnnXVmS`N2#Y3|d2YDAQ*w_bo8?p+NI8P!TeP- z8X6brD_qhi+|vE@x-p@XF#e6f?KzXI()+Bpv*8vne@Ynt!OvR{Uv2&bnO0Vv1}CJx z$d1}3p)(LyNa^4rcB%Zif}*pb^u;l=#Tzx=5h{;`XQm~YhxOW0$p_=@0_3$LaKjamYa*Ybz3 z`S$@w`BWJqk|tvDk_?JVN~9z`rLa~$aUrM6w9o9yp{zt9YS&gJO)`Q;D(2k`P{2Vg8`m$B5>twT)n8H*XYB2LSHA&Rh`47X$(^()t@1 zkd)Z4^YTX63^Levxwfjv{)%>>mkKlfZVQymWOmfM~SvK6epn~B>fe_n)HTpX{q3)d*{}=&Ye(`;cU$>_YbC zUDNDXIa2Q0G~AT}{Nicb{*7~#`y^f5)%K$$8Ieb{54w!uAivECBcOM*%rp>#<{n0M zTUN_aLq)nAq;$Vwq22WzN!}11OBqq2f@OZC+@aUQCs2W&@`!6AoF_p?HdTsjt;Z<~sqfKbHowP)8SlV%eopRrH6tTE@*AMWk@eWRx}wW6T)WtBRd7c3 zwBMWrs|mFq$9%Ke?#%#<$-x;MRyTD-)jK0Yf9YW7{@P??Dlk{Ry>+(i3om0WBt?j|i8C)zQngS`Tl^{4RXpO`2E(VN1fqOhvXi(qehV#G z={WJ5&^4Bo@Qy6EGJ_HSG9Mvv1H}oEFM@){ip>6>WhK_cRo;|^ixS3m8`8Lt?7a^r zuI}|@&Zc)Vhbi@O6Lr*(pv-+l)iQs8ghL#vkww`mfwaE5Py=?RU{M|-xb{LU$uJ=k z8#L8iB&Olt*t|1}vUXh#bg5*|mi^-4NS~ZO4ud{Mhou+vSohaD2j;-*`u^9Eh+Mo$ zBg%SuKuL2Z;vByDaqvx=;4x;LDvkN37fHams4toRe9u(}&^7b`-uoYQg-t;`ay@(E^YRCM0_4WTXiV4N@Eal68s;NE zKlneMIbo3S#;J1Un{T!F0=P!I#mJB0%gO8!x24m3XVC4}IDear* zYs762c*}`!Y<0P81qr`VCeo_@>{d(Q^OCmQVba@}xJs9#cY@m=ov%?s6oRiHHN4=V zlww`1emm8YRiTxMaeJ$c`KpXLdJ0WfKjluS86pngI<&4c1sqKlt2zKL2-;0!&?jV@ z*QFaz2dj9Z()f5)gO-lSAL36r`sY)ly!-N!WE89BwfoJ_3%1VBu+2J)Q&iVw6<`92 z$*}TJE}UgT<}f1n&B64vsl!mCc;qth69zCY+Yt*ooBPMeN=C{p;z91usTiyWzcBhH zCdOkl$MaaX4G#cHk43aMXuQh2Q;+r(>&6Gb+o0h$@jR;&qW>2j(*}yIDlWbd1e;){ zyiPAEp;q2C``hJZF%#aGIq{0i+&q&4iWFm8s&yV-Tr45XiwgGYfM;U2ZL@Rc9NC`l zit-)(0{Oo0+3|nB)qCq>-XhSo>PD*FXkY*7BwtJj}B-m-r;w$t037x8>rB zr{~F!t%pihciX?HV0VEi+;JLQ4gz9glhvkxi_P&O5FA-(JG}d|PY!$4Ty_cJqaxfw z3Qx*8x>AWZAg(R$C=7Xrn?Oeo!Lc3AAM6cWsmwR(XBSh^{_^<-QnJhR&_Xi>1kv z{%ta7W9wKJ928g?y58nBE5eE!i&dNnt;EX9I=a~PY{$}R4Vjaa$>-)9FRIi&niVOZ z!=0qVQ34prJ3q*q97JG>LKm5>V33Qea}ACQz85PGVw-gSjo|e!A}R8Kr+gyV=T(vY z)89K#@AEvic)jN4$LCYGNR;Iyl14Oxlt*gxOpqq2q~P}U%s)dChV4k32eGeHe_&s| z9H3JyJz7Klx8sCwd$l|E@%83_6?xNAS$NFFKeMdlQCB2_ewv4n-1^KO?5u|DgrIJ+ ztK(Q|CNC+m=-TdTeA$u-3XP)Qs@NqB*3#$B@Nvs}21o-OOL>cP2i_Y=yMDrT|MXKj zo9 z4e%;Iy?;WrK^4){?VtqF~4;pi5 z!h^1sAJRx2WR^BN;1r}3NOa=~HGn}@#YN=DN3h+F@IQCB*D)eK01pKn5Eu;CYL_0GQ%F- zcJA-|=ZFD#k%_(5BRR9$Eiu{LC}j;WNtrQUO{r|w6u~aL?;ViuY{}Rr+}WXoa`be# zOei}{yQcFBGz@pNo?R@JP| zRkD+#1gj^S)=C&%vMPzRICiaNZl*zD}?>k2~1rr^5wXg}b>bGvSBnOmTFo_FHD9)rt01Z6GM1+Ejf zmU60TrR`*G21XB&u9Gl1-`uPsrOEGSR^YJ*8PYnOd%Rsdu0D?hIZCWlO~(zO;4)1dIh{uCBCPw0`+dPavkLi65}I)Y>N`(f$Gy9*;M7Sicy_`(|*~ z*PP!4EhlaBJB4G=69K{7s%P$g*M}YLyHFuZB5ApNe`Q{igDyW20Hz?&Z*XKMId7bs zr^S$#l9J07;2A7Qo4CHpL!A!toICG7{n>Gg+jx7EWmRt~DbV$PDK2!=m(HLq*Xi!Na7R(AG)(02%i zi4*AztGDt6&lSL>yI?#U5+uN-?e-Ue1}$;FWhmq;_ct*c`nw!@n^SLlRCgrA1)WuL z@+_L@piYW(g{j&wR|noV0*Jwu`T*p+xT!fN?M7EXgVk^yx%$m&xo+A2fNS>)F8*uA>3gPU!% zby5B#vXp4RhV)}ifmXgo?!V2N;K`r|O~=$jEzT z)pB)?>*|CjvuiIml5azg+&BL?e)znuF4ntWQvu?rjSZ%zb5=7cjzy!zQAS6j{(;j{ zm(5?K2WuHBMo-&>F0$O~^}0T{IdUxzD>~9d+#T+jw7L9%Ga|vf*Zlou1mNNz`MlfV zy7V=2JpGCjo&fJwg)Z#ullUJSRhiyLqT1T+z(aN%4gq2+TsAXbp@0CsiN^za+*<$@ z_pfoW`JJ}9%aic&{e9Mc({tlo-yV>+c&xqE9aCY_tgG49I*c5Z4V-1503VkSw7l9= zv!Y8OK47sw5Pz&R9=O3ZTyxL;K`Jz$-6Wx>2O9f!zIV}f04PT$w(E_S2DLssDyp#> zze30JbE?edDFS%U&`p*U;;K|hn!6m^23)D}$<>wy3f&!zt(%8bDMW z2wlFy#tGF;FAgtm>21D|cx}2-=DiK^XzD8FiSP`sdj)+VhY|Uh4ggwg?79B7ctNkZ zPHMwA7$q`bYpkdt8^`|&+uBl|Z(AdV6dc=4_yD7_Wv;g?&*#$!oKBND0{~76-~61! z{m(Qc=&ipxoxAZTO4`5Ot)5x?bx;2{&g<%m^bxeKM;J949+yXhH0OhVtdk-^_{ZAl zQQw&c55|X{mPFoTodV7qi&R}cKEf8APwrSZKYMNgtb!i_3A3pHdJ<~I!uXclrz;YN zRl`+}U-i~STb-GC@Hb9zz{jPt#~kQ*Iv&8=jA@j-58#Xzv#gXr!mV zyc3~cU!V7^ase(}dt_CWE{iTt#&Uh;^9P#ORYIJ|z?5-9;yGd>4Hiw%>&1Tirx2rd zOF>TCW?jVN`?`@qA$FKmp2!&U-?!M2+0*Ci$10PBf4+eaMz7B+T7StB5vW2{7Yd3g z`xZanRZBb}vGd!kSLbBRVLSRz z0_qTI-d2y1(BLSJ8!JlKNYbjm4Sg0**Rzynb>`St(v4xtAYY7OD4WZEE_z&9|3eW{ z%iY0%Y~E=-N2|%DBX}g-am$kiO{OuE$=qG!yWB?zjl~N3RQr$9!#K6g`0e^UUy{m7 zk2SALX8-H4u0tL)Vd!-GRsZy_pI2;gi(3zt)^-)Nq&&;Dw^Z-%g)m&_gKSY^Dl_Zr z^87eftFdatdsV?6B+FN4Za;u!7`a^B#rwJXR5LH5Dv1Py8?;TZ zIXMah1n3BVjEG#nZrZ!e_6{}=im~Z!rFE^0tb0`!bTooway)v(I1s$L9Jumch8TI> z9HV*GZ_y`(UFHU?<*OBVL`PC6>}=(IUP8Y3zPhDwsSYpOuP^jnNhf50@rPp3ZaZH| zcQc0KVz4SlF^~Iv0$LP+R>4sIw=-8@|s)vASS^p+UXysNqt6*OT7R{(uwb(zlrQ`lc|#D{ag z)mUy77PZNPjUrgTa4FLtpdldx)$?8xQPhz4$1}+=V$FUdBo;mJHwia4Af}4@pA(_Y zcy(^dVZ3xp^f@@IFr*5Ct$v+Z3!~>T>+zF=svcM)gqo?$r1%Bd_QZ9$kJl8LHYf%$$J-iCAVYa|i%LrV>S)eaf$|U%Gs* zWFm_D4AU*@O`p|EJpV$}xE;zM7V@#~%EHrk*JkhqVImzW^>U)1eifc<;RxGZMnr=! ztal_tL7@kMZv5W?eAVNOVdglozY@I4PXR!{HZs|J4<=T`LCEnI~Fr6SXq zozB{I>%RX^VVaphqEgUM{kq2TQkMg%P<6)*Gkq;tZg4W!wW{TPHRffA{W~$qd@DPj81N zD^K7Mga?Vvx&?W(*P4t{e(=4RrE~GPfM?(4D3&6&T7F&i14-JA*aUZCg51FKemBgj!V=1d{T(0jI5{*Y(OK z1C5bd?`tOeRe&F82m}Sr4==E{9H?i_M-396m~j7UdRF-0Paj~*nkY}XwRUm>NH88m zfDd>cz^8Mtvi5ES&@Mf_kpkEQTv*><9m(0hV$EvYkC6!p?Uw2vVf31aU1CiB%xTA0 z$pDGE{LVE#kr8iqbzuE87nSO-d1(L!Bgswx092w4+LTmO{zI|hOV(~G$|@;AE;RcB zSmA%FF*Jh)v~S&|K(I? zh#MKjhV)Rpq9Oxz_2JX5ks`-j+T(!~2=WdB7F~yikX(++qs}<|JBRsw`{|d)oP~V? zoZqy^Q%l-%f~2&0lYXjuY_PB(@8jaS_Oy)zcwf@MiNE;}X&*eROge&Du@AVwoMp4K zFk9G7xL?i5(Z+bXH)E-(?|}qv#1hHcZ<;UBn_^;gAJCTc^n}s!t#Yt_5ONImp@{%= zsl(=LkjH;I9C<#sB>?Pf_>9j0C?fKJNliGua8f&;DDML5?cqSK6}DNv?F*IQi@#1acslWWId z1>-Uw6@cmcGV1%zmV7c@NW^$>ogAHv2kPkiO=*6_KKN91<@;!()>}0JTNb*-{&&nb z(nrWPn4^voo4P;;o?h&;m3eU|qlMElGney5w{+o3Kmq_&IZhya53a}%Y{@-1;A9>L z^g00Wu&>Vt$mKvmA3JV>w`=sUe)Sv2Cj?S(=xo3?F0Nwf2?>L?-#i}wIfw4gnl4cN zJ2jP)l2X#pyOwr%6&MATEV6mnlC)$GEI0(@VmuOThW9vqsxbn-~sG7Y)*=l zB!J~VW461s@qEp9j1xd{K?Hr);w?7@bl*d9zB1#oP@wy2;;GP!qA313g<|Af3UT~# zBJr(A7on8iY9PP9e!gB3sKvuzo?l+KbS`3@Vpd6PIveCTW@U0!>ILd`=mmv#<+)*MOP$`XTvAO4x-4t^UzT)Ji~OmK&EKMC6<_A zYe0c^ZB|WzdX?2fijpx^Neq6e<&=1NyZsk+`hN!NfHx~~ds}dv*`@@W5TAtJ`RobZ zYBI)Ur=JxL71jA_3!=^%?)bE%`lH*^`nb$w&>hcT81R_~_`R$(3&+2Bj)>OEhe{&p zvLg3naOeQff+I2a^`MBCCUg!7fs|CF;NzRl*JIUY_9M~++r@`KPlt2pKI5A?-GfO7 zAfRYgb=tBc9dOn7YA`;oamD#N#IF>ihGJ$2{=7YT3gSQe-}h3BTA{| zf*H-`uoa(Zd>+nhQY;Csy@`hs?AMx8f{`23gSk)P#Ki|>0%h$0R|jr<#E^dE^+ec` z=EC@=R&?}8@D{!QU8@pATS%zEY8O z>vBVZdiK*;0APUg-I7l%sfbdMH7BZCn_gL^oXIM8sp6vbY&>i33SCHsJhfr+>HTb2rXu+ggi>CdWI9#CmlWt1_^^Tysll z!tBOsbsA0CJv?N9yL`41FhMPtfgl<$JH)E+UC{9+Ph_(vuJbWjF1P&Yg0zs`viZVm z#6mFATx?pvC0(fPw@y9b$iA$-?=f+m`F9EoO>9r9%1RqeCa1nSV#Ae%zAa<&?spzF z7XSxAPRhgUYad>@>NlhlCXJba-`L3ZGP!Tihvz09rZ)70&%-?8$ESNTTu?yrrN0?; zg=Xs?C$8jmc&%7)Ex4MwK7P8iQT=Xt9-rrmxpl2iZ?8Tg18o_f?e>GKQamJ~UoRCI|oM`*+wBb1s0cz4*ofOH}w$dMz(NItej> zZ*p9nJf0=JAyMAIAXQk}nUPCN7%Ad)z2o$IB!wnEA+mek!P^{h3cROx>^Nt4mc^No zE&hWQmU_TXNNCIF(VA!U`EndtD_g|=pZ4|wJ;0qDdpQ5WP|7>Qf$91CVFDMIw);T zE$y5r#~r~Nh3g3j-+=~j8lE9wHTk5A;Uz9nurnRFVPP6OIJSxvo7RlXC>oNi0p6a% zo*|#z_v2-`Z8FQRj|&w*0$94wjbC?dH_B-@xDWE~He@TrtE+}oe9Qco*5wO*88k^4 z=R?alx0=GppRuMfcBK8=Dpz3Fg2LZU4lxZj+PtUT@?hMdx0ZTRC^8Mx0oqqu7 zo4tuMt3WL3DRO$5DH(PCqXoMSe_P2-=VRw@o7vWQRn;V!dg~tKSYrO(qx3JJKP5Ed zDOy!#1CcFMNdVK5KhB-F_hv0#kv5$th&0VXTZ%u&+}b)>zcU!!C7j&arpjtQvc-S@ z!)tbBp*!!R{dYn>Q!l!??To(fi0Q}0r6XlV^sQ3f6T&yaE~09D5poCL$mm#Zv0GajM>(kvnj{*NC#Vs~o5!*>OptUsnKHS!}$Tz>Pn4 z&$g&2srS9-B>pio%ONW!9m(d_KAw)9&i36voCI+FAuuy@VMpP_9nYXR``Sr z=t}7g4d&@Qr9ZO_xq)_-E}yG=eBP(OSFwdR10q{MvyYCwsL2WSABoK27zwHg3~p-hskc56XQ&o;%+>~Zahk`}&! z%oGRz`!T#(F8aQ{AmNdth}DyhChi`KG|wv@Cp}RblHIQ&Eg243z6NNp0V;{2bN+zY ztcP7y5;zcC-no*E^TC!$ge%ny^td|4`6H;|*bxpTlSex!UK^1nq7Duuv!zPANS`;% z+)gX!10{%QMw%54LrT_Y5z_4+6MD^;&`#tjvdRo8?SarVAo8bwhn-{J0v`kjv-Er} z{R}5bs#{m=_z_$DL#qAn@!sA_gNT*7mJ`(#GQHa0Jqq4zIS zASLhp5N@Oh3#jl(;}XX3Ml6v0@4f~N=5~}m&2+5|)D_QmpDI!%0PnoIJ)Zo?EX`dy zXVkwQPqJ{Et*mId4B%l8&}BqHApmsRAt5SEW8_9P09Q#R@G7iSr_-PR^X@te@CEWH zJRGk3pY47sY(A?1c3C^`@d`~9wXFUo64R0%r%ykDyyrKg;TUW(OR*8t={iT@yAVd5 zdP|0ZP~cTDzOQv}V`*Oxw>Qr{Z`V{Qki!-`eF-l8CSkw59~x(d0&T(3Um_29AUM|x znPZ@q;rJgA&9TEr*ucPJZl0P=;k)pqCkhL;z3;0lkWc2qk*p*AEeVs z1mfr9VrOj>$?6MZdoaAxMT4k$C(K$!8c(7x6qbH#vgIFZ*=@RQ>xb4|>^0Hj|v3|8wnTlY)MSw(9b)}n6mxgJj_Eq$CP#s2R{4eMEID$m0&{^}TAO%zYJdO*1B9n&B>S>klazFRH%uUXE3GdK z$;_ns87ev1g7I)B&^O^Q1oV+-n7YWpq&NKC4$CQoSW7z@XHKWHu}5nJ{<Wq;jV9!PYy_{_R9J9#{NY6`R z=bqjo@Rlp66;7#*6k?4?hr0OSxH#fyqae9PiXrJpUFB($C=`OR8USs#M#`}mey`Ow z-DqzCh6A&2S8$)_7bK16$(u-jGNGcS9ERw9p~zdYHK3xywMg~m=EiB;@3PSJ5@wPP zRWFxeD8UeV)R*-d14Yf3jgh`_VLS&lM3pyo$!~To3ueG4x|F>V=`~wj) zH{vG_lTR!lW~X|KR`^=`<7LVz$~biWHM^N$5T^#A{0qS@kv2mwIW=Rb{Xs}bZMs(^ zVNau81E<}x^E0H_2rmxtV3^0Iwpp!F!eYb|q?!hm#JoGJ^MINd z7s`jGy-kd<6prYE5>(Vc*v%z5j?H%Kzm(`u_^KptF-pS1YkV^h`(^9vL*Q4Q4*4i} zyt;gAs+|~eDnf?4{ml=0nf^kaSY558yH+&0@n(9h2H)^Mk<%I#8Ubpmow*z=w8jqWtzg@5lL(D7Td`Z4E&8K|BX(;lucl2B`evXYb{1Tr5O%D z`BtD5Px?gj|2awLYtlx@Nchzt^bV98xN*YpfU%PiP(-MW{Uq*MW2q*O#WWk>{Ug+A zCEf8Wn}bt2e6z~nm*%%n>)(`*C0Us# z)@9WLE>y?vk-I|^tW%4J)7mKq_+m$T&d(l?RGGLo^Wpdv4wjOyUAk>0!Q44jI4LJh z*6!Ga#8}v9iXLG3j4*J6GTV?yvME#Fd6os_yi#VBtL z3%u6-uHB|89iT=?4_~3fhOx@L zV;sacY7;yoTU%=NZ3JvBorTY3-w23F|ny0+w{i-XUWl&Iv0eVcFrO}TH0cI$wV(b~l)@4ki z8B_f_qhKssAL?>9;R>VOSQXUTNN`)sK_i4iWTviLE4$J6E@=L(wFn2bc_OQjXeOiJ&kTLtZ0}{YDXW&0 zl>x+|KuKb1?cA@CsbaP%I>ynv?qnX`Z9{j#QDB5eSP$a(4&x*1;Zl)MDj_kODvFoS zK=dQBhGi!lsVft%pv_2!+TcHgs0M=sTH8Nmr2Lo;Sq<^u6MfTOLhl+1O?^V~f5lqR zP;ZlhB7b1-w9w)Itb&ZhHd*^|i7)Cz!&-{dZt2!4x;F@A7!ov zJ|-YdquVYYZm++$!x^nTau3HWahjxp{Cw0t))7lL;Pn-tNE!q46=lBra9AwSML0wC z+A~7OkS>NgF;2|wrDZ4Ya8NTjClXuH3=@U*KU?|#?D9zxd@C5baOYF?ar6>iX7vy| zw5ZC9j2rX+NG;}Lp1$hk*!X^d!3TeQBxgQYk^9RRCjPAAG48)CIw}6mnx&c5(FTDU zlN`DD9~(X-+Lo9gse$YdTV#njsWiOA6%`qL_I8!zMJwCH|B2&9%$GV2AKMZz#?TCyNlND$7CN!Kx zBaHjfm76)H50A}HxWrR2#`%j~E78*iel;GkvN(h-z^}_TwkdV1sb&Vs=3lOzRR>4w zt7)`;N<6GdU_psK&8gwV&ov;=LgJ{@wpabln(FrnNi|QDc7WOptEyB0-1*nq(ad^} zEe@^obJ=82+Sz1_u{1G0Y-Req^F84QdF--v-jJ9CP8 z?0nO;aF$Ic31=*KqRFr2zklmEg9B% z+>a(FY}nQug3`$fqK^I)@AJ|f_u6J;IuklmEUMw5q9=rA3^R*Q@-3zuln2Zgzx<&d zDUt#H!&D2G8*?<(72nRkx**~eUiOuJb-ZxR+6ZIe%^(tR6wA$2{ zHT~kBtC_ii(q8D3BO|I7W~Z{n#PB@j{a@m4A>0|-RM2FkX^!{|*CWbGt+=|yO4+tn zgBvqo0C()&1B%PjRmSzK5gnNp6^je`vCKZ_Z+1`q)V!(Y{=^!#bY(J)aG?lgaWw+i zRH!aB2&#yqE6!=ydq|t|G#rQ(_+NS;<5cG{h%gm8#2OP3lw)1Rq=>-Wr1GF- zIOQf4vWlV`A34`Th8GR$!uKySwdtwaw^8WRO;Sw!eEnc;W&V^eJ5e!w88*W4!LqF|TC=Zt^wGt|TDRlK2XyR(BKTo0YFtlqzJ>hg|L!YdA;8fDY z+}cXJD(;t5YBxgbO6d9gLIKzO_phs62;|WtXtbddSa+HmdT|_`QPQUCjNqo$rhH`t zjapPi|CJD6qO^$&TYfyJP-)mI_925U_Nq}GRKrsdHWfq` zW=LK5B$fG*7Zg?*`q*9F2u65SOA(QOCY<*d8Z{pO2_Hg7MR-96PELto8Z0Z>Y#si3Qq*8yi$0W_fxWvZoL5fK^yx>#OR zG1$t9rc%m5 zgr=jmY8a)^fP@MFt8VZ>_2EP;(hv_oSA}Fm=WwNZbL!@bh?!J@2!Fay3Pqf=d>z9_ z)^LUHnw#setP+Qhob}$LBIG*Wyoj)rn$SaPPEbiSaY(8jj|}FXwM99M$B8P|0YtLj z)J>-{?LxHxBD@(;V{u;&K2(_|eQQC6J1j{}3QUWjt0W;=-56eK>?XQzsc~%sm0p_AMQGAh)m-+fIt!u- zze86z5`jviWO}5=HJXSEpsSOTQQnqXNvQ$-1XX}&T?#m2Y*GeANd)?IBvKD~ATDg* zNTD(MDzdF{`_bVTgxQ$>`_MA4#s6--M1SQB;7s&}K%e>vH4icLv5<%Y3^g&Fh?r=# zo3CeF8XGelIdaZx!L4y?1JqxQ(1nNsI-}fc5yryQiaa&rAR}CQbrW9L!-|O3G+6?n zsaudbEeFEcozOE?bLE67ygHpj^@Oa7cW_}SwkncRwW?f`kZrP4Z!B+dV2eY863)v$Ny4k@KG&wB}J7}K*wRIW*9|KY*gsPPBq{dQqOdZ zN~Z?6;HrD6f?T2sWm#wdt_xrQN)awM4p5S%z79YuPNBgvBEw7>4%tHW93r}8T_~QN zsjs#{&6)@eL5-*bh-fb<3LK60E`J03+yF5Q;{M1|Ul}2Bq%zo~ zx_P2fE1F4=8pfTDqU*gb7BlGW9m6VGO6nvkb*anQYOsiq9>GLZRuNqtD}~-ASCx7q zW48zP72hK>x^QxY=jJA7XFNej<+tO05`>usUD!XKx`(!qC=lus^sG* zcs^R=FQYenlwwi90PC_))k>ay*A1{oC#X-+=KLqD1=s@o7qHbt)B^0r?Tx%46#rE{ zos4iQP^T&^t1-VK;^I)@%=qt;2^bx-C>9*w>kO*vVf)?PsG0?-$0*bsy5Fh`K_sI^Pbs$r{9?v3aS#`xE9;9bBDfU*Gq z#N!B20*m0Yu^ zmI*O}4^k-kWj|+Jw?I{0xN6{NRQRQ08M;)GP{J(j^N66#Mpi&Z+=tW|935NKP%;m? zFhpG7b5l3BMvqY4EJ6c1`_r9LquDpnI#SoE>MaRPj|4Q~u22j|sF|*~u(D+B0TO!c zAA!FGo*sXv=u{v0#Ypig;06S90aL5tu3Di`?zjq!9lBYV5GBoKgbkqXG?hd& zR~7pEuLe5n3@$nkOqWg4-LEp=QdBYe7hn)W>qb+PAe6cDHEXSIuvEOIic!#|dv&RF zWG{$az%PIw0XhFuh-r4{4v=jiI)D<;%KyW@q~!nm`ak-0q4L=O-`D>OzV-o|y;DD@ c{_+1B00<2*mn;dI;Q#;t07*qoM6N<$f - - - - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT deleted file mode 100644 index 32d95a3..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL.TXT +++ /dev/null @@ -1,5 +0,0 @@ -Install : -Copy the 'domelist DomePro.txt' file to the "Common/Miscellaneous Files" directory inside of TheSkyX Pro. -Copy libDomePro.dlll, Astrometric.png and DomePro.ui to the "Common/PlugIns/DomePlugIns" directory inside of TheSkyX Pro. - - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT deleted file mode 100644 index 40e3f1b..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_RPI.TXT +++ /dev/null @@ -1,3 +0,0 @@ -Install : -run the rpi_install.sh, it'll copy the files in the proper place. This need to be done after you run TheSkyX at least once so that it can use the "~/Library/Application Support/Software Bisque/TheSkyX Professional Edition/TheSkyXInstallPath.txt" to find where TheSkyX is installed. - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT b/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT deleted file mode 100644 index a833779..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/INSTALL_Ubuntu.TXT +++ /dev/null @@ -1,3 +0,0 @@ -Install : -run the linux_install.sh, it'll copy the files in the proper place. This need to be done after you run TheSkyX at least once so that it can use the "~/Library/Application Support/Software Bisque/TheSkyX Professional Edition/TheSkyXInstallPath.txt" to find where TheSkyX is installed. - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile b/domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile deleted file mode 100644 index eecc569..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# Makefile for libDomePro - -CC = gcc -CFLAGS = -fPIC -Wall -Wextra -O2 -g -DSB_LINUX_BUILD -I. -I./../../ -CPPFLAGS = -fPIC -Wall -Wextra -O2 -g -DSB_LINUX_BUILD -I. -I./../../ -LDFLAGS = -shared -lstdc++ -RM = rm -f -STRIP = strip -TARGET_LIB = libDomePro.so - -SRCS = main.cpp domepro.cpp x2dome.cpp -OBJS = $(SRCS:.cpp=.o) - -.PHONY: all -all: ${TARGET_LIB} - -$(TARGET_LIB): $(OBJS) - $(CC) ${LDFLAGS} -o $@ $^ - $(STRIP) $@ >/dev/null 2>&1 || true - -$(SRCS:.cpp=.d):%.d:%.cpp - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $< >$@ - - -.PHONY: clean -clean: - ${RM} ${TARGET_LIB} ${OBJS} diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h deleted file mode 100644 index af1acfe..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/UI_map.h +++ /dev/null @@ -1,124 +0,0 @@ -// map UI objectName to #define. -// ********************************************* -// ---------- -// DomePro.ui -// ---------- -// Dome Az -// Az motor -#define MOTOR_POLARITY "checkBox" -#define OVER_CURRENT_PROTECTION "overCurrentProtection" -// encoder -#define TICK_PER_REV "ticksPerRev" -#define ROTATION_COAST "doubleSpinBox" -#define LEARN_AZIMUTH_CPR_RIGHT "pushButton" -#define R_CPR_VALUE "label_5" -#define LEARN_AZIMUTH_CPR_LEFT "pushButton_5" -#define L_CPR_VALUE "label_6" -#define ENCODDER_POLARITY "checkBox_2" -#define SET_AZIMUTH_CPR "pushButton_6" -#define IS_AT_HOME "isAtHome" - -// Homing -#define HOMING_DIR "comboBox_3" -#define HOME_POS "homePosition" -#define PARK_POS "parkPosition" -// extra dialogs -#define SHUTTER_BUTTON "pushButton_3" -#define TIMEOUTS_BUTTON "pushButton_4" -#define DIAG_BUTTON "pushButton_2" - -// Cancel/Ok -#define BUTTON_CANCEL "pushButtonCancel" -#define BUTTON_OK "pushButtonOK" -// -// Main settings dialog Events -// -#define LEARN_AZIMUTH_CPR_RIGHT_CLICKED "on_pushButton_clicked" -#define LEARN_AZIMUTH_CPR_LEFT_CLICKED "on_pushButton_5_clicked" -#define SET_CPR_FROM_GAUGED "on_pushButton_6_clicked" -#define DIAG_CKICKED "on_pushButton_2_clicked" -#define SHUTTER_CKICKED "on_pushButton_3_clicked" -#define TIMEOUTS_CKICKED "on_pushButton_4_clicked" - -// ********************************************* -// ------------------- -// Dome Shutter / Roof UI -// ------------------- -#define DOMEPRO_MODEL "label_6" -// sequencing -#define SINGLE_SHUTTER "checkBox_3" -#define OPEN_FIRST "comboBox" -#define CLOSE_FIRST "comboBox_2" -#define INHIBIT_SIMULT "checkBox_4" -#define SHUTTER_OPERATE_AT_HOME "checkBox_9" -#define HOME_ON_SHUTTER_CLOSE "checkBox_8" -#define UPPER_SHUTTER_LIMIT_CHECK "checkBox_11" -#define LOWER_SHUTTER_LIMIT_CHECK "checkBox_12" -#define CLEAR_LIMIT_FAULT "pushButton_3" -#define SHUT1_OPEN_ANGLE "spinBox" -#define SHUT1_OPEN_ANGLE_ADC "spinBox_5" -#define SHUT1_CLOSE_ANGLE "spinBox_2" -#define SHUT1_CLOSE_ANGLE_ADC "spinBox_6" -#define SHUT2_OPEN_ANGLE "spinBox_3" -#define SHUT2_OPEN_ANGLE_ADC "spinBox_7" -#define SHUT2_CLOSE_ANGLE "spinBox_4" -#define SHUT2_CLOSE_ANGLE_ADC "spinBox_8" -#define SHUT_ANGLE_GOTO "checkBox" -#define SHUTTER1_OCP "doubleSpinBox" -#define SHUTTER2_OCP "doubleSpinBox_2" - -// events -#define CLEAR_LIMIT_FAULT_CLICKED "on_pushButton_3_clicked" - - -// ********************************************* -// ------------------------------------- -// Dome timoute and automatic closure UI -// ------------------------------------- -// Az timout -#define AZ_TIMEOUT_EN "checkBox_5" -#define AZ_TIMEOUT_VAL "spinBox_2" - -// Shutter timeout -#define FIST_SHUTTER_TIMEOUT "label_9" -#define FIST_SHUTTER_TIMEOUT_VAL "spinBox_3" -#define SECOND_SHUTTER_TIMEOUT "label_10" -#define SECOND_SHUTTER_TIMEOUT_VAL "spinBox_4" -#define OPPOSITE_DIR_TIMEOUT "spinBox_5" -#define CLOSE_NO_COMM "checkBox_6" -#define CLOSE_NO_COMM_VAL "spinBox_6" -#define CLOSE_ON_RADIO_TIMEOUT "checkBox_7" -#define CLOSE_ON_POWER_FAIL "checkBox_10" - - - -// ********************************************* -// -------------- -// DomeProDiag.ui -// -------------- - -// Azimuth -#define AZ_SUPPLY_VOLTAGE "label_2" -#define AZ_MOTOR_CURRENT "label_4" -#define AZ_TEMP "label_8" -#define AZ_HOME_SWITCH "label_10" -#define AZ_DIAG_COUNT "label_12" -#define AZ_DIAG_COUNT_CLEAR "pushButton" -#define AZ_DIAG_DEG "label_14" -#define AX_DIAG_DEG_CLEAN "pushButton_2" -// Shutter -#define SHUT_SUPPLY_VOLTAGE "label_5" -#define SHUT_SUPPLY_CURRENT "label_18" -#define SHUT_TEMPERATURE "label_16" -#define NB_REF_LINK_ERROR "label_20" -#define RF_LINK_ERROR_CLEAR "pushButton_3" -// Cancel/Ok -#define DIAG_BUTTON_OK "pushButtonOK" -// -// Events -// -#define DIAG_OK_CLICKED "on_pushButtonOK_clicked" -#define CLEAR_DIAG_COUNT_CLICKED "on_pushButton_clicked" -#define CLEAR_DIAG_DEG_CLICKED "on_pushButton_2_clicked" -#define CLEAR_RFLINK_ERRORS_CLICKED "on_pushButton_3_clicked" - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt deleted file mode 100644 index 747a671..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domelist DomePro.txt +++ /dev/null @@ -1,3 +0,0 @@ -//See hardwarelist.txt for details on this file format. -//Version|Manufacturer|Model|Comment|MapsTo|PlugInDllName|X2Developer|Windows|Mac|Linux| -2|Astrometric Instruments|Astrometric Instruments Dome Pro2|Astrometric Instruments Dome Pro2| |libDomePro||1|1|1| diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp deleted file mode 100644 index 20d83b9..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.cpp +++ /dev/null @@ -1,3005 +0,0 @@ -// -// DomePro.cpp -// ATCL Dome X2 plugin -// -// Created by Rodolphe Pineau on 6/11/2017. - - -#include "domepro.h" - -CDomePro::CDomePro() -{ - // set some sane values - m_bDebugLog = true; - - m_pSerx = NULL; - m_bIsConnected = false; - - m_nNbStepPerRev = 0; - - m_dHomeAz = 0; - m_dParkAz = 0; - - m_dCurrentAzPosition = 0.0; - m_dCurrentElPosition = 0.0; - - m_bCalibrating = false; - - m_bHasShutter = false; - m_bShutterOpened = false; - - m_bParked = true; // assume we were parked. - m_bHomed = false; - - m_nLearning = 0; - m_nLeftCPR = 0; - m_nRightCPR = 0; - - m_bShutterGotoEnabled = false; - - memset(m_szFirmwareVersion,0,SERIAL_BUFFER_SIZE); - memset(m_szLogBuffer,0,DP2_LOG_BUFFER_SIZE); - -#ifdef ATCL_DEBUG -#if defined(SB_WIN_BUILD) - m_sLogfilePath = getenv("HOMEDRIVE"); - m_sLogfilePath += getenv("HOMEPATH"); - m_sLogfilePath += "\\DomeProLog.txt"; -#elif defined(SB_LINUX_BUILD) - m_sLogfilePath = getenv("HOME"); - m_sLogfilePath += "/DomeProLog.txt"; -#elif defined(SB_MAC_BUILD) - m_sLogfilePath = getenv("HOME"); - m_sLogfilePath += "/DomeProLog.txt"; -#endif - Logfile = fopen(m_sLogfilePath.c_str(), "w"); -#endif - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] CDomePro Constructor Called\n", timestamp); - fflush(Logfile); -#endif - - -} - -CDomePro::~CDomePro() -{ -#ifdef ATCL_DEBUG - if (Logfile) - fclose(Logfile); -#endif -} - -#pragma mark - Dome Communication - -int CDomePro::Connect(const char *pszPort) -{ - int nErr; - int nState; - - if(!m_pSerx) - return ERR_COMMNOLINK; - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::Connect] Connect called.\n", timestamp); - fflush(Logfile); -#endif - - // 19200 8N1 - nErr = m_pSerx->open(pszPort, 19200, SerXInterface::B_NOPARITY, "-DTR_CONTROL 1"); - if(nErr) { - m_bIsConnected = false; - return nErr; - } - m_bIsConnected = true; - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::Connect] connected to %s\n", timestamp, pszPort); - fflush(Logfile); -#endif - - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Connected.\n"); - m_pLogger->out(m_szLogBuffer); - - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Getting Firmware.\n"); - m_pLogger->out(m_szLogBuffer); - } - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::Connect] getting Firmware.\n", timestamp); - fflush(Logfile); -#endif - - // if this fails we're not properly connected. - nErr = getFirmwareVersion(m_szFirmwareVersion, SERIAL_BUFFER_SIZE); - if(nErr) { - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Error Getting Firmware.\n"); - m_pLogger->out(m_szLogBuffer); - } -#ifdef ATCL_DEBUG - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::Connect] Error %d Getting Firmware : %s\n", timestamp, nErr, m_szFirmwareVersion); - fflush(Logfile); -#endif - - m_bIsConnected = false; - m_pSerx->close(); - return ERR_COMMNOLINK; - } - - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::Connect] Got Firmware.\n"); - m_pLogger->out(m_szLogBuffer); - } - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::Connect] firmware %s\n", timestamp, m_szFirmwareVersion); - fflush(Logfile); -#endif - - - // get dome home az and park az - setDomeHomeAzimuth(0); // we need to make sure we manage the offset to the Home position - setDomeParkAzimuth(0); - - getDomeAzCPR(m_nNbStepPerRev); - getDomeParkAz(m_dParkAz); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::Connect] m_nNbStepPerRev = %d\n", timestamp, m_nNbStepPerRev); - fprintf(Logfile, "[%s] [CDomePro::Connect] m_dHomeAz = %3.2f\n", timestamp, m_dHomeAz); - fprintf(Logfile, "[%s] [CDomePro::Connect] m_dParkAz = %3.2f\n", timestamp, m_dParkAz); - fflush(Logfile); -#endif - - - // Check if the dome is at park - getDomeLimits(); - if(m_nAtParkSate == ACTIVE) { - nErr = getDomeParkAz(m_dCurrentAzPosition); - if(!nErr) - syncDome(m_dCurrentAzPosition, m_dCurrentElPosition); - } - - nErr = getDomeShutterStatus(nState); - nErr = getDomeLimits(); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::Connect] m_dCurrentAzPosition : %3.2f\n", timestamp, m_dCurrentAzPosition); - fflush(Logfile); -#endif - - if(nState != NOT_FITTED ) - m_bHasShutter = true; - - return SB_OK; -} - - -void CDomePro::Disconnect() -{ - if(m_bIsConnected) { - m_pSerx->purgeTxRx(); - m_pSerx->close(); - } - m_bIsConnected = false; -} - - -#pragma mark - Dome API call - -int CDomePro::syncDome(double dAz, double dEl) -{ - int nErr = DP2_OK; - int nPos; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - m_dCurrentAzPosition = dAz; - AzToTicks(dAz, nPos); - nErr = calibrateDomeAzimuth(nPos); - return nErr; -} - -int CDomePro::gotoDomePark(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return nErr; - - nErr = domeCommand("!DSgp;", szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::unparkDome() -{ - m_bParked = false; - m_dCurrentAzPosition = m_dParkAz; - - syncDome(m_dCurrentAzPosition, m_dCurrentElPosition); - return 0; -} - -int CDomePro::gotoAzimuth(double dNewAz) -{ - - int nErr = DP2_OK; - int nPos; - if(!m_bIsConnected) - return NOT_CONNECTED; - - AzToTicks(dNewAz, nPos); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::gotoAzimuth] dNewAz : %3.2f\n", timestamp, dNewAz); - fprintf(Logfile, "[%s] [CDomePro::gotoAzimuth] nPos : %d\n", timestamp, nPos); - fflush(Logfile); -#endif - - nErr = goToDomeAzimuth(nPos); - m_dGotoAz = dNewAz; - - return nErr; -} - -int CDomePro::gotoElevation(double dNewEl) -{ - - int nErr = DP2_OK; - if(!m_bIsConnected) - return NOT_CONNECTED; - - m_nTargetAdc = (int) floor(0.5 + ((m_Shutter1CloseAngle - dNewEl) * m_ADC_Ratio1)); - - nErr = goToDomeElevation(m_nTargetAdc, 0); - - m_dGotoEl = dNewEl; - - return nErr; -} - - -int CDomePro::openDomeShutters() -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - nErr = domeCommand("!DSso;", szResp, SERIAL_BUFFER_SIZE); - return nErr; -} - -int CDomePro::CloseDomeShutters() -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - nErr = domeCommand("!DSsc;", szResp, SERIAL_BUFFER_SIZE); - return nErr; -} - -int CDomePro::abortCurrentCommand() -{ - int nErr; - if(!m_bIsConnected) - return NOT_CONNECTED; - - m_bCalibrating = false; - - nErr = killDomeAzimuthMovement(); - if(m_bHasShutter) - nErr |= killDomeShutterMovement(); - return nErr; -} - -int CDomePro::goHome() -{ - int nErr = DP2_OK; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = homeDomeAzimuth(); - return nErr; -} - -#pragma mark TODO : Calibrate test -int CDomePro::learnAzimuthCprRight() -{ - int nErr = DP2_OK; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - // get the number of CPR going right. - startDomeAzGaugeRight(); - - m_bCalibrating = true; - m_nLearning = RIGHT; - return nErr; -} - -int CDomePro::learnAzimuthCprLeft() -{ - int nErr = DP2_OK; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - // get the number of CPR going right. - startDomeAzGaugeLeft(); - - m_bCalibrating = true; - m_nLearning = LEFT; - - return nErr; -} - -#pragma mark - dome controller informations - -int CDomePro::getFirmwareVersion(char *pszVersion, int nStrMaxLen) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned long nFirmwareVersion; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - nErr = domeCommand("!DGfv;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - nFirmwareVersion = strtoul(szResp, NULL, 16); - snprintf(pszVersion, nStrMaxLen, "%lu", nFirmwareVersion); - return nErr; -} - -int CDomePro::getModel(char *pszModel, int nStrMaxLen) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - nErr = domeCommand("!DGhc;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - m_nModel = (int)strtoul(szResp, NULL, 16); - switch(m_nModel) { - case CLASSIC_DOME : - strncpy(pszModel, "DomePro2-d", nStrMaxLen); - break; - - case CLAMSHELL : - strncpy(pszModel, "DomePro2-c", nStrMaxLen); - break; - - case ROR : - strncpy(pszModel, "DomePro2-r", nStrMaxLen); - break; - - default: - strncpy(pszModel, "Unknown", nStrMaxLen); - break; - } - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::getModel] Model = %s\n", timestamp, pszModel); - fflush(Logfile); -#endif - - - return nErr; -} - -int CDomePro::getModelType() -{ - return m_nModel; -} - -int CDomePro::getModuleType(int &nModuleType) -{ - int nErr; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - nErr = domeCommand("!DGmy;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Az")) { - m_nModuleType = MODULE_AZ; - } - else if(strstr(szResp,"Az")) { - m_nModuleType = MODULE_SHUT; - } - else { - m_nModuleType = MODULE_UKNOWN; - } - - return nErr; -} - -int CDomePro::setDomeAzMotorPolarity(int nPolarity) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - m_nMotorPolarity = nPolarity; - - switch(m_nNbStepPerRev) { - case POSITIVE : - nErr = domeCommand("!DSmpPositive;", szResp, SERIAL_BUFFER_SIZE); - - break; - case NEGATIVE : - nErr = domeCommand("!DSmpNegative;", szResp, SERIAL_BUFFER_SIZE); - break; - default: - nErr = ERR_CMDFAILED; - break; - } - - return nErr; -} - - -int CDomePro::getDomeAzMotorPolarity(int &nPolarity) -{ - int nErr; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - nErr = domeCommand("!DGmp;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Positive")) { - m_nMotorPolarity = POSITIVE; - } - else if(strstr(szResp,"Negative")) { - m_nMotorPolarity = NEGATIVE; - } - - else { - m_nMotorPolarity = POLARITY_UKNOWN; - } - - nPolarity = m_nMotorPolarity; - return nErr; -} - - -int CDomePro::setDomeAzEncoderPolarity(int nPolarity) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - m_nAzEncoderPolarity = nPolarity; - - switch(m_nAzEncoderPolarity) { - case POSITIVE : - nErr = domeCommand("!DSepPositive;", szResp, SERIAL_BUFFER_SIZE); - break; - - case NEGATIVE : - nErr = domeCommand("!DSepNegative;", szResp, SERIAL_BUFFER_SIZE); - break; - - default: - nErr = ERR_CMDFAILED; - break; - } - return nErr; -} - -int CDomePro::getDomeAzEncoderPolarity(int &nPolarity) -{ - int nErr; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return SB_OK; - - nErr = domeCommand("!DGep;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Positive")) { - m_nAzEncoderPolarity = POSITIVE; - } - else if(strstr(szResp,"Negative")) { - m_nAzEncoderPolarity = NEGATIVE; - } - - else { - m_nAzEncoderPolarity = POLARITY_UKNOWN; - } - - nPolarity = m_nAzEncoderPolarity; - return nErr; -} - - -bool CDomePro::hasShutterUnit() { - return m_bHasShutter; -} - - -#pragma mark - command complete functions - -int CDomePro::isGoToComplete(bool &bComplete) -{ - int nErr = 0; - double dDomeAz = 0; - bool bIsMoving = false; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = isDomeMoving(bIsMoving); - if(nErr) { -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] bIsMoving = %d\n", timestamp, bIsMoving); -#endif - return nErr; - } - - getDomeAzPosition(dDomeAz); - - if(bIsMoving) { - bComplete = false; - return nErr; - } - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] dDomeAz = %3.2f\n", timestamp, dDomeAz); - fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] m_dGotoAz = %3.2f\n", timestamp, m_dGotoAz); - fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] floor(dDomeAz) = %3.2f\n", timestamp, floor(dDomeAz)); - fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] floor(m_dGotoAz) = %3.2f\n", timestamp, floor(m_dGotoAz)); - fflush(Logfile); -#endif - - if ((floor(m_dGotoAz) <= floor(dDomeAz)+2) && (floor(m_dGotoAz) >= floor(dDomeAz)-2)) { -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] Goto finished\n", timestamp); -#endif - bComplete = true; - } - else { - // we're not moving and we're not at the final destination !!! - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::isGoToComplete] domeAz = %f, mGotoAz = %f\n", ceil(dDomeAz), ceil(m_dGotoAz)); - m_pLogger->out(m_szLogBuffer); - } - bComplete = false; - nErr = ERR_CMDFAILED; - } - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::isGoToComplete] bComplete = %d\n", timestamp, bComplete); -#endif - - return nErr; -} - -int CDomePro::isGoToElComplete(bool &bComplete) -{ - int nErr = 0; - int nADC; - - bComplete = false; - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = getDomeShutter1_ADC(nADC); - if(nErr) - return nErr; - - if(m_nTargetAdc == nADC) { - bComplete = true; - } - - return nErr; -} - -int CDomePro::isOpenComplete(bool &bComplete) -{ - int nErr = 0; - int nState; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = getDomeShutterStatus(nState); - if(nErr) - return ERR_CMDFAILED; - if(nState == OPEN){ - m_bShutterOpened = true; - bComplete = true; - m_dCurrentElPosition = 90.0; - } - else { - m_bShutterOpened = false; - bComplete = false; - m_dCurrentElPosition = 0.0; - } - - return nErr; -} - -int CDomePro::isCloseComplete(bool &bComplete) -{ - int err=0; - int nState; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - err = getDomeShutterStatus(nState); - if(err) - return ERR_CMDFAILED; - if(nState == CLOSED){ - m_bShutterOpened = false; - bComplete = true; - m_dCurrentElPosition = 0.0; - } - else { - m_bShutterOpened = true; - bComplete = false; - m_dCurrentElPosition = 90.0; - } - - return err; -} - - -int CDomePro::isParkComplete(bool &bComplete) -{ - int nErr = 0; - int nMode; - double dDomeAz=0; - bool bIsMoving = false; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = getDomeAzMoveMode(nMode); - if(nMode == PARKING) - { - bComplete = false; - return nErr; - } - - getDomeAzPosition(dDomeAz); - nErr = isDomeMoving(bIsMoving); - if(nErr) - return nErr; - - if(bIsMoving) { // this should not happen - bComplete = false; - return nErr; - } - - if ((floor(m_dParkAz) <= floor(dDomeAz)+1) && (floor(m_dParkAz) >= floor(dDomeAz)-1)) - { - m_bParked = true; - bComplete = true; - } - else { - // we're not moving and we're not at the final destination !!! - bComplete = false; - m_bHomed = false; - m_bParked = false; - nErr = ERR_CMDFAILED; - } - - return nErr; -} - -int CDomePro::isUnparkComplete(bool &bComplete) -{ - int nErr = 0; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - m_bParked = false; - bComplete = true; - - return nErr; -} - -int CDomePro::isFindHomeComplete(bool &bComplete) -{ - int nErr = 0; - bool bIsMoving = false; - bool bIsAtHome = false; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = isDomeMoving(bIsMoving); - if(nErr) { -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::isFindHomeComplete] error checking if dome is moving : %dX\n", timestamp, nErr); - fflush(Logfile); -#endif - return nErr; - } - if(bIsMoving) { - m_bHomed = false; - bComplete = false; - return nErr; - } - - nErr = isDomeAtHome(bIsAtHome); - if(nErr) - return nErr; - - if(bIsAtHome){ - m_bHomed = true; - bComplete = true; - } - else { - // we're not moving and we're not at the home position !!! - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::isFindHomeComplete] Not moving and not at home !!!\n"); - m_pLogger->out(m_szLogBuffer); - } - bComplete = false; - m_bHomed = false; - m_bParked = false; - nErr = ERR_CMDFAILED; - } - - return nErr; -} - - -int CDomePro::isLearningCPRComplete(bool &bComplete) -{ - int nErr = DP2_OK; - int nMode; - int nSteps; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = getDomeAzMoveMode(nMode); - if(nErr) { - killDomeAzimuthMovement(); - m_bCalibrating = false; - // restore previous value as there was an error - m_nNbStepPerRev = m_nNbStepPerRev_save; - } - - if(nMode == GAUGING) - { - bComplete = false; - return nErr; - } - - // Gauging is done. let's read the value - if(m_nLearning == RIGHT) { - nErr = getDomeAzGaugeRight(nSteps); - m_nRightCPR = nSteps; - } - else { - nErr = getDomeAzGaugeLeft(nSteps); - m_nLeftCPR = nSteps; - } - if(nErr) { - killDomeAzimuthMovement(); - m_bCalibrating = false; - m_nLearning = 0; - return nErr; - } - bComplete = true; - return nErr; -} - -int CDomePro::isPassingHomeComplete(bool &bComplete) -{ - int nErr = DP2_OK; - bComplete = false; - nErr = getDomeLimits(); - if(nErr) { - return nErr; - } - if(m_nAtHomeSwitchState != ACTIVE) - bComplete = true; - - return nErr; -} - - -#pragma mark - Getter / Setter - -int CDomePro::setHomeAz(double dAz) -{ - int nErr = DP2_OK; - - m_dHomeAz = dAz; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - return nErr; -} - -int CDomePro::setDomeAzCoast(double dAz) -{ - int nErr = DP2_OK; - int nPos; - - nPos = (int) ((16385/360) * dAz); - nErr = setDomeAzCoast(nPos); - return nErr; - -} - -int CDomePro::getDomeAzCoast(double &dAz) -{ - int nErr = DP2_OK; - int nPos; - - nErr = getDomeAzCoast(nPos); - if(nErr) - return nErr; - - dAz = (nPos/16385.0) * 360.0; - - return nErr; -} - - -int CDomePro::setParkAz(double dAz) -{ - int nErr = DP2_OK; - int nPos; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - m_dParkAz = dAz; - - AzToTicks(dAz, nPos); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::setParkAz] nPos : %d\n", timestamp, nPos); - fprintf(Logfile, "[%s] [CDomePro::setParkAz] dAz : %3.3f\n", timestamp, dAz); - fflush(Logfile); -#endif - - setDomeParkAzimuth(nPos); - return nErr; -} - - -double CDomePro::getCurrentAz() -{ - if(m_bIsConnected) - getDomeAzPosition(m_dCurrentAzPosition); - - return m_dCurrentAzPosition; -} - -double CDomePro::getCurrentEl() -{ - if(m_bIsConnected) - getDomeEl(m_dCurrentElPosition); - - return m_dCurrentElPosition; -} - -int CDomePro::getCurrentShutterState() -{ - if(m_bIsConnected) - getDomeShutterStatus(m_nShutterState); - - return m_nShutterState; -} - -void CDomePro::setShutterAngleCalibration(int nShutter1OpenAngle, int nShutter1rOpenAngleADC, - int nShutter1CloseAngle, int nShutter1CloseAngleADC, - int nShutter2OpenAngle, int nShutter2rOpenAngleADC, - int nShutter2CloseAngle, int nShutter2CloseAngleADC, - bool bShutterGotoEnabled) -{ - m_Shutter1OpenAngle = nShutter1OpenAngle; - m_Shutter1OpenAngle_ADC = nShutter1rOpenAngleADC; - m_Shutter1CloseAngle = nShutter1CloseAngle; - m_Shutter1CloseAngle_ADC = nShutter1CloseAngleADC; - m_ADC_Ratio1 = (m_Shutter1OpenAngle_ADC - m_Shutter1CloseAngle_ADC) / (m_Shutter1OpenAngle - m_Shutter1CloseAngle); - - m_Shutter2OpenAngle = nShutter2OpenAngle; - m_Shutter2OpenAngle_ADC = nShutter2rOpenAngleADC; - m_Shutter2CloseAngle = nShutter2CloseAngle; - m_Shutter2CloseAngle_ADC = nShutter2CloseAngleADC; - m_ADC_Ratio2 = (m_Shutter2OpenAngle_ADC - m_Shutter2CloseAngle_ADC) / (m_Shutter2OpenAngle - m_Shutter2CloseAngle); - - m_bShutterGotoEnabled = bShutterGotoEnabled; - -} - - -void CDomePro::setDebugLog(bool bEnable) -{ - m_bDebugLog = bEnable; -} - - -#pragma mark - protected methods - -#pragma mark - dome communication - -int CDomePro::domeCommand(const char *pszCmd, char *pszResult, int nResultMaxLen) -{ - int nErr = DP2_OK; - unsigned char szResp[SERIAL_BUFFER_SIZE]; - unsigned long ulBytesWrite; - - m_pSerx->purgeTxRx(); - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::domeCommand] Sending %s\n",pszCmd); - m_pLogger->out(m_szLogBuffer); - } - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::domeCommand] Sending %s\n", timestamp, pszCmd); - fflush(Logfile); -#endif - - nErr = m_pSerx->writeFile((void *)pszCmd, strlen(pszCmd), ulBytesWrite); - m_pSerx->flushTx(); - if(nErr) - return nErr; - // read response - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::domeCommand] Getting response.\n"); - m_pLogger->out(m_szLogBuffer); - } - nErr = readResponse(szResp, SERIAL_BUFFER_SIZE); - if(nErr) { - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::domeCommand] error %d reading response : %s\n", timestamp, nErr, szResp); - fflush(Logfile); -#endif - return nErr; - } - if(pszResult) - strncpy(pszResult, (const char *)szResp, nResultMaxLen); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::domeCommand] got response : '%s'\n", timestamp, szResp); - fflush(Logfile); -#endif - - return nErr; - -} - - -int CDomePro::readResponse(unsigned char *pszRespBuffer, int nBufferLen) -{ - int nErr = DP2_OK; - unsigned long ulBytesRead = 0; - unsigned long ulTotalBytesRead = 0; - unsigned char *pszBufPtr; - - memset(pszRespBuffer, 0, (size_t) nBufferLen); - pszBufPtr = pszRespBuffer; - - do { - nErr = m_pSerx->readFile(pszBufPtr, 1, ulBytesRead, MAX_TIMEOUT); - if(nErr) { - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::readResponse] readFile error.\n"); - m_pLogger->out(m_szLogBuffer); - } - return nErr; - } - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 4 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::readResponse] *pszBufPtr = %02X\n", timestamp, *pszBufPtr); - fflush(Logfile); -#endif - - if (ulBytesRead !=1) {// timeout - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::readResponse] readFile Timeout.\n"); - m_pLogger->out(m_szLogBuffer); - } - nErr = DP2_BAD_CMD_RESPONSE; - break; - } - ulTotalBytesRead += ulBytesRead; - if (m_bDebugLog) { - snprintf(m_szLogBuffer,DP2_LOG_BUFFER_SIZE,"[CDomePro::readResponse] nBytesRead = %lu\n",ulBytesRead); - m_pLogger->out(m_szLogBuffer); - } - // check for errors or single ACK - if(*pszBufPtr == ATCL_NACK) { - nErr = DP2_BAD_CMD_RESPONSE; - break; - } - - if(*pszBufPtr == ATCL_ACK) { - nErr = DP2_OK; - break; - } - - - } while (*pszBufPtr++ != ';' && ulTotalBytesRead < nBufferLen ); - - if(ulTotalBytesRead && *(pszBufPtr-1) == ';') - *(pszBufPtr-1) = 0; //remove the ; to zero terminate the string - - return nErr; -} - -#pragma mark - conversion functions - -// Convert pdAz to number of ticks from home. -void CDomePro::AzToTicks(double pdAz, int &ticks) -{ - if(!m_nNbStepPerRev) - getDomeAzCPR(m_nNbStepPerRev); - - ticks = (int) floor(0.5 + (pdAz - m_dHomeAz) * m_nNbStepPerRev / 360.0); - while (ticks > m_nNbStepPerRev) ticks -= m_nNbStepPerRev; - while (ticks < 0) ticks += m_nNbStepPerRev; -} - - -// Convert ticks from home to Az -void CDomePro::TicksToAz(int ticks, double &pdAz) -{ - if(!m_nNbStepPerRev) - getDomeAzCPR(m_nNbStepPerRev); - - pdAz = m_dHomeAz + (ticks * 360.0 / m_nNbStepPerRev); - while (pdAz < 0) pdAz += 360; - while (pdAz >= 360) pdAz -= 360; -} - - -#pragma mark - Dome movements - -int CDomePro::setDomeLeftOn(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = domeCommand("!DSol;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::setDomeRightOn(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - nErr = domeCommand("!DSor;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::killDomeAzimuthMovement(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - - nErr = domeCommand("!DXxa;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -#pragma mark - getter / setter - -int CDomePro::getDomeAzPosition(double &dDomeAz) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - int nTmp; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - if(m_bCalibrating) - return nErr; - - nErr = domeCommand("!DGap;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert Az hex string to long - nTmp = (int)strtoul(szResp, NULL, 16); - - TicksToAz(nTmp, dDomeAz); - - m_dCurrentAzPosition = dDomeAz; - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::getDomeAzPosition] nTmp = %s\n", timestamp, szResp); - fprintf(Logfile, "[%s] [CDomePro::getDomeAzPosition] nTmp = %d\n", timestamp, nTmp); - fprintf(Logfile, "[%s] [CDomePro::getDomeAzPosition] dDomeAz = %3.2f\n", timestamp, dDomeAz); - fflush(Logfile); -#endif - - return nErr; -} - -int CDomePro::getDomeEl(double &dDomeEl) -{ - int nErr = DP2_OK; - int nShutterState; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - getDomeShutterStatus(nShutterState); - - if(!m_bShutterOpened || !m_bHasShutter) - { - dDomeEl = 0.0; - } - else { - dDomeEl = 90.0; - } - - m_dCurrentElPosition = dDomeEl; - - return nErr; -} - - -int CDomePro::getDomeHomeAz(double &dAz) -{ - int nErr = DP2_OK; - - dAz = m_dHomeAz; - - return nErr; -} - -int CDomePro::getDomeParkAz(double &dAz) -{ - int nErr = DP2_OK; - int nPos; - - nErr = getDomeParkAzimuth(nPos); - if(nErr) - return nErr; - - TicksToAz(nPos, dAz); - - return nErr; -} - -int CDomePro::getDomeShutterStatus(int &nState) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - int nShutterState; - - nErr = domeCommand("!DGsx;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - nShutterState = (int)strtoul(szResp, NULL, 16); - - switch(nShutterState) { - case OPEN: - m_bShutterOpened = true; - break; - - case CLOSED: - m_bShutterOpened = false; - break; - - case NOT_FITTED: - m_bShutterOpened = false; - m_bHasShutter = false; - break; - default: - m_bShutterOpened = false; - - } - - nState = nShutterState; - - return nErr; -} - - -#pragma mark - command completion/state - -int CDomePro::isDomeMoving(bool &bIsMoving) -{ - int nErr = DP2_OK; - int nMode; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - bIsMoving = false; - - nErr = getDomeAzMoveMode(nMode); - if(nErr) - return nErr; - - if(nMode != FIXED && nMode != AZ_TO) - bIsMoving = true; - - return nErr; -} - -int CDomePro::isDomeAtHome(bool &bAtHome) -{ - int nErr = DP2_OK; - - if(!m_bIsConnected) - return NOT_CONNECTED; - - bAtHome = false; - - nErr = getDomeLimits(); - if(nErr) { - return nErr; - } - if(m_nAtHomeState == ACTIVE) - bAtHome = true; - - return nErr; -} - -#pragma mark - DomePro getter/setter - -int CDomePro::setDomeAzCPR(int nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - // nCpr must be betweem 0x20 and 0x40000000 and be even - if(nValue < 0x20 ) - nValue = 0x20; - if(nValue>0x40000000) - nValue = 0x40000000; - nValue &= 0XFFFFFFFE; // makes it an even number - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DScp0x%08X;", nValue); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeAzCPR(int &nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGcp;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nValue = (int)strtoul(szResp, NULL, 16); - return nErr; -} - -int CDomePro::getLeftCPR() -{ - return m_nLeftCPR; -} - -int CDomePro::getRightCPR() -{ - return m_nRightCPR; - -} - - -#pragma mark not yet implemented in the firmware -int CDomePro::setDomeMaxVel(int nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - // nValue must be betweem 0x01 and 0x7C (124) - if(nValue < 0x1 ) - nValue = 0x1; - if(nValue>0x7C) - nValue = 0x7C; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSmv0x%08X;", nValue); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::getDomeMaxVel(int &nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGmv;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nValue = (int)strtoul(szResp, NULL, 16); - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::setDomeAccel(int nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - // nValue must be betweem 0x01 and 0xFF (255) - if(nValue < 0x1 ) - nValue = 0x1; - if(nValue>0xFF) - nValue = 0xFF; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSma0x%08X;", nValue); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::getDomeAccel(int &nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGma;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nValue = (int)strtoul(szResp, NULL, 16); - return nErr; -} - - - -int CDomePro::setDomeAzCoast(int nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - // nCpr must be betweem 0x20 and 0x40000000 and be even - if(nValue < 0x1 ) - nValue = 0x1; - if(nValue>0x7C) - nValue = 0x7C; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSco0x%08X;", nValue); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeAzCoast(int &nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGco;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nValue = (int)strtoul(szResp, NULL, 16); - return nErr; -} - -int CDomePro::getDomeAzDiagPosition(int &nValue) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGdp;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nValue = (int)strtoul(szResp, NULL, 16); - return nErr; -} - -int CDomePro::clearDomeAzDiagPosition(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DCdp;", szResp, SERIAL_BUFFER_SIZE); - return nErr; -} - -int CDomePro::getDomeAzMoveMode(int &mode) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGam;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - if(strstr(szResp, "Fixed")) { - mode = FIXED; - } - else if(strstr(szResp, "Left")) { - mode = LEFT; - } - else if(strstr(szResp, "Right")) { - mode = RIGHT; - } - else if(strstr(szResp, "GoTo")) { - mode = GOTO; - } - else if(strstr(szResp, "Homing")) { - mode = HOMING; - } - else if(strstr(szResp, "AzimuthTO")) { - mode = AZ_TO; - } - else if(strstr(szResp, "Gauging")) { - mode = GAUGING; - } - else if(strstr(szResp, "Parking")) { - mode = PARKING; - } - return nErr; -} - -int CDomePro::getDomeLimits(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - uint16_t nLimits; - - nErr = domeCommand("!DGdl;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - nLimits = (uint16_t)strtoul(szResp, NULL, 16); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] nLimits : %04X\n", timestamp, nLimits); - fflush(Logfile); -#endif - - m_nShutter1OpenedSwitchState = (nLimits & BitShutter1_Opened ? ACTIVE : INNACTIVE); - m_nShutter1ClosedSwitchState = (nLimits & BitShutter1_Closed ? ACTIVE : INNACTIVE); - - m_nShutter2OpenedSwitchState = (nLimits & BitShutter2_Opened ? ACTIVE : INNACTIVE); - m_nShutter2ClosedSwitchState = (nLimits & BitShutter2_Closed ? ACTIVE : INNACTIVE); - - m_nAtHomeState = (nLimits & BitAtHome ? ACTIVE : INNACTIVE); - m_nAtHomeSwitchState = (nLimits & BitHomeSwitchState ? ACTIVE : INNACTIVE); - m_nAtParkSate = (nLimits & BitAtPark ? ACTIVE : INNACTIVE); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter1OpenedSwitchState : %d\n", timestamp, m_nShutter1OpenedSwitchState); - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter1ClosedSwitchState : %d\n", timestamp, m_nShutter1ClosedSwitchState); - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter2OpenedSwitchState : %d\n", timestamp, m_nShutter2OpenedSwitchState); - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nShutter2ClosedSwitchState : %d\n", timestamp, m_nShutter2ClosedSwitchState); - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nAtHomeState : %d\n", timestamp, m_nAtHomeState); - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nAtHomeSwitchState : %d\n", timestamp, m_nAtHomeSwitchState); - fprintf(Logfile, "[%s] [CDomePro::getDomeLimits] m_nAtParkSate : %d\n", timestamp, m_nAtParkSate); - fflush(Logfile); -#endif - - return nErr; -} - - -int CDomePro::setDomeHomeDirection(int nDir) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - if(nDir == LEFT) { - nErr = domeCommand("!DShdLeft;", szResp, SERIAL_BUFFER_SIZE); - } - else if (nDir == RIGHT) { - nErr = domeCommand("!DShdRight;", szResp, SERIAL_BUFFER_SIZE); - } - else { - return INVALID_COMMAND; - } - - return nErr; -} - -int CDomePro::getDomeHomeDirection(int &nDir) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGhd;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - if(strstr(szResp, "Left")) { - nDir = LEFT; - } - else if(strstr(szResp, "Right")) { - nDir = RIGHT; - } - return nErr; -} - - -int CDomePro::setDomeHomeAzimuth(int nPos) -{ - - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nPos < 0 && nPos> m_nNbStepPerRev) - return COMMAND_FAILED; - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::setDomeHomeAzimuth] nPos : %d\n", timestamp, nPos); - fflush(Logfile); -#endif - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSha0x%08X;", nPos); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::setDomeAzimuthOCP_Limit(double dLimit) -{ - - int nErr = DP2_OK; - int ulTmp; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - ulTmp = (int)floor((dLimit/0.0468f)+0.5); - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSxa0x%08X;", ulTmp); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeAzimuthOCP_Limit(double &dLimit) -{ - int nErr = DP2_OK; - int ulTmp; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGxa;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - ulTmp = (int)strtoul(szResp, NULL, 16); - - dLimit = (double)ulTmp * 0.0468f; - - return nErr; -} - - -int CDomePro::getDomeHomeAzimuth(int &nPos) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGha;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nPos = (int)strtoul(szResp, NULL, 16); -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::getDomeHomeAzimuth] szResp : %s\n", timestamp, szResp); - fprintf(Logfile, "[%s] [CDomePro::getDomeHomeAzimuth] nPos : %d\n", timestamp, nPos); - fflush(Logfile); -#endif - - return nErr; -} - -int CDomePro::homeDomeAzimuth(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSah;", szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - - -int CDomePro::goToDomeAzimuth(int nPos) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nPos < 0 && nPos> m_nNbStepPerRev) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSgo0x%08X;", nPos); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::goToDomeElevation(int nADC1, int nADC2) -{ - int nErr = DP2_OK; - - if(nADC1 < 0 && nADC2> 4095) - return COMMAND_FAILED; - - if(nADC2 < 0 && nADC2> 4095) - return COMMAND_FAILED; - - nErr = GoToDomeShutter1_ADC(nADC1); - if(nErr) - return nErr; - nErr = GoToDomeShutter1_ADC(nADC2); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::GoToDomeShutter1_ADC(int nADC) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nADC < 0 && nADC> 4095) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSg10x%08X;", nADC); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::GoToDomeShutter2_ADC(int nADC) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nADC < 0 && nADC> 4095) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSg20x%08X;", nADC); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - - -int CDomePro::setDomeParkAzimuth(int nPos) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nPos < 0 && nPos> m_nNbStepPerRev) - return COMMAND_FAILED; - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::setDomeParkAzimuth] nPos : %d\n", timestamp, nPos); - fflush(Logfile); -#endif - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSpa0x%08X;", nPos); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeParkAzimuth(int &nPos) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGpa;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nPos = (int)strtoul(szResp, NULL, 16); - -#if defined ATCL_DEBUG && ATCL_DEBUG >= 2 - ltime = time(NULL); - timestamp = asctime(localtime(<ime)); - timestamp[strlen(timestamp) - 1] = 0; - fprintf(Logfile, "[%s] [CDomePro::getDomeParkAzimuth] szResp : %s\n", timestamp, szResp); - fprintf(Logfile, "[%s] [CDomePro::getDomeParkAzimuth] nPos : %d\n", timestamp, nPos); - fflush(Logfile); -#endif - - return nErr; -} - -int CDomePro::calibrateDomeAzimuth(int nPos) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nPos < 0 && nPos> m_nNbStepPerRev) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSca0x%08X;", nPos); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::startDomeAzGaugeRight() -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSgr;", szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeAzGaugeRight(int &nSteps) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGgr;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nSteps = (int)strtoul(szResp, NULL, 16); - if(!nSteps) { // if we get 0x00000000 there was an error - // restore old value - m_nNbStepPerRev = m_nNbStepPerRev_save; - return ERR_CMDFAILED; - } - m_nNbStepPerRev = nSteps; - - return nErr; -} - -int CDomePro::startDomeAzGaugeLeft() -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSgl;", szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeAzGaugeLeft(int &nSteps) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGgl;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nSteps = (int)strtoul(szResp, NULL, 16); - if(!nSteps) { // if we get 0x00000000 there was an error - // restore old value - m_nNbStepPerRev = m_nNbStepPerRev_save; - return ERR_CMDFAILED; - } - m_nNbStepPerRev = nSteps; - - return nErr; -} - - - -int CDomePro::killDomeShutterMovement(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DXxs;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::getDomeDebug(char *pszDebugStrBuff, int nStrMaxLen) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGdg;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - strncpy(pszDebugStrBuff, szResp, nStrMaxLen); - - return nErr; -} - -#pragma mark - low level dome data getter/setter - -int CDomePro::getDomeSupplyVoltageAzimuthL(double &dVolts) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGva;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dVolts = (double)ulTmp * 0.00812763; - - return nErr; -} - -int CDomePro::getDomeSupplyVoltageShutterL(double &dVolts) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGvs;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dVolts = (double)ulTmp * 0.00812763; - - return nErr; -} - -#pragma mark FIX VOLTAGE MULTIPLIER -int CDomePro::getDomeSupplyVoltageAzimuthM(double &dVolts) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGoa;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dVolts = (double)ulTmp * 1; // TBD - - return nErr; -} - - -#pragma mark FIX VOLTAGE MULTIPLIER -int CDomePro::getDomeSupplyVoltageShutterM(double &dVolts) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGos;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dVolts = (double)ulTmp * 1; // TBD - - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::getDomeRotationSenseAnalog(double &dVolts) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGra;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dVolts = (double)ulTmp / 255 * 5; // FF = 5v, 0 = 0v - - return nErr; - -} - -int CDomePro::setDomeShutter1_OpTimeOut(int nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nTimeout < 10 && nTimeout > 500) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSt10x%08X;", nTimeout); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeShutter1_OpTimeOut(int &nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGt1;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nTimeout = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::setDomeShutter2_OpTimeOut(int nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nTimeout < 10 && nTimeout > 500) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSt20x%08X;", nTimeout); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; - -} - -int CDomePro::getDomeShutter2_OpTimeOut(int &nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGt2;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nTimeout = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::setDomeShutODirTimeOut(int nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nTimeout < 10 && nTimeout > 500) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSto0x%08X;", nTimeout); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeShutODirTimeOut(int &nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGto;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nTimeout = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::setDomeAzimuthTimeOutEnabled(bool bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnable) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSaeYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSaeNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; - -} - -int CDomePro::getDomeAzimuthTimeOutEnabled(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGae;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - -int CDomePro::setDomeAzimuthTimeOut(int nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nTimeout < 10 && nTimeout > 500) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSta0x%08X;", nTimeout); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeAzimuthTimeOut(int &nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGta;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nTimeout = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::setDomeShutCloseOnLinkTimeOut(bool bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnable) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DStsYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DStsNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; - -} - -int CDomePro::getDomeShutCloseOnLinkTimeOut(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGts;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - -int CDomePro::setDomeShutCloseOnClientTimeOut(bool bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnable) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSteYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSteNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeShutCloseOnClientTimeOut(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGte;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - -int CDomePro::setDomeShutCloseClientTimeOut(int nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(nTimeout < 10 && nTimeout > 500) - return COMMAND_FAILED; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DStc0x%08X;", nTimeout); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeShutCloseClientTimeOut(int &nTimeout) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGtc;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nTimeout = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::setShutterAutoCloseEnabled(bool bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnable) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSanYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSanNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; - -} - -int CDomePro::getShutterAutoCloseEnabled(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGan;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - - -#pragma mark not yet implemented in the firmware -int CDomePro::setDomeShutOpAtHome(bool bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnable) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::getDomeShutOpAtHome(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGsh;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - -int CDomePro::getDomeShutdownInputState(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGsi;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - -int CDomePro::getDomePowerGoodInputState(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGpi;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::getLastDomeShutdownEvent(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGlv;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // need to parse output and set some varaible/structure representing the event - - return nErr; -} - -int CDomePro::setDomeSingleShutterMode(bool bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnable) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSssYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSssNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeSingleShutterMode(bool &bEnable) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnable = false; - - nErr = domeCommand("!DGss;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - if(strstr(szResp,"Yes")) - bEnable = true; - - return nErr; -} - -int CDomePro::getDomeLinkErrCnt(int &nErrCnt) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGle;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nErrCnt = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::clearDomeLinkErrCnt(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DCle;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::getDomeComErr(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGce;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // need to parse output and set some varaible/structure representing the comms errors - - return nErr; -} - -#pragma mark not yet implemented in the firmware -int CDomePro::clearDomeComErr(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DCce;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::openDomeShutter1(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSo1;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::openDomeShutter2(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSo2;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::closeDomeShutter1(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSc1;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::closeDomeShutter2(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSc2;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::stopDomeShutter1(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSs1;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - -int CDomePro::stopDomeShutter2(void) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DSs2;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - return nErr; -} - - -int CDomePro::getDomeShutter1_ADC(int &nPos) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGa1;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nPos = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::getDomeShutter2_ADC(int &nPos) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGa2;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nPos = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::setDomeShutterOpenFirst(int nShutter) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSof0x%02X;", nShutter); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; - -} - -int CDomePro::getDomeShutterOpenFirst(int &nShutter) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGof;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nShutter = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::setDomeShutterCloseFirst(int nShutter) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DScf0x%02X;", nShutter); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; - -} - -int CDomePro::getDomeShutterCloseFirst(int &nShutter) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGcf;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - nShutter = (int)strtoul(szResp, NULL, 16); - - return nErr; -} - -int CDomePro::getDomeShutterMotorADC(double &dVolts) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGsc;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dVolts = (double)ulTmp / 1023.0 * 3.3; - dVolts = (dVolts - 1.721) / 0.068847; - if (dVolts < 0.0) - dVolts = 0.0; - - return nErr; -} - -int CDomePro::getDomeAzimuthMotorADC(double &dVolts) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGac;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dVolts = (double)ulTmp / 1023.0 * 3.3; - dVolts = (dVolts - 1.721) / 0.068847; - if (dVolts < 0.0) - dVolts = 0.0; - - return nErr; -} - -int CDomePro::getDomeShutterTempADC(double &dTemp) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGst;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dTemp = (double)ulTmp / 1023.0 * 3.3 - 0.5; - dTemp = dTemp / 0.01; - - return nErr; -} - -int CDomePro::getDomeAzimuthTempADC(double &dTemp) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - unsigned int ulTmp; - - nErr = domeCommand("!DGat;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string - ulTmp = (int)strtoul(szResp, NULL, 16); - - dTemp = (double)ulTmp / 1023.0 * 3.3 - 0.5; - dTemp = dTemp / 0.01; - - return nErr; -} - -int CDomePro::setDomeShutOpOnHome(bool bEnabled) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnabled) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSshNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeShutOpOnHome(bool &bEnabled) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnabled = false; - - nErr = domeCommand("!DGsh;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - if(strstr(szResp,"Yes")) - bEnabled = true; - - return nErr; -} - - -int CDomePro::setHomeWithShutterClose(bool bEnabled) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnabled) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSchYes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSchNo;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getHomeWithShutterClose(bool &bEnabled) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnabled = false; - - nErr = domeCommand("!DGch;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - if(strstr(szResp,"Yes")) - bEnabled = true; - - return nErr; -} - -int CDomePro::setShutter1_LimitFaultCheckEnabled(bool bEnabled) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnabled) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl1Yes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl1No;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getShutter1_LimitFaultCheckEnabled(bool &bEnabled) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnabled = false; - - nErr = domeCommand("!DGl1;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - if(strstr(szResp,"Yes")) - bEnabled = true; - - return nErr; -} - -int CDomePro::setShutter2_LimitFaultCheckEnabled(bool bEnabled) -{ int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - if(bEnabled) - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl2Yes;"); - else - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSl2No;"); - - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getShutter2_LimitFaultCheckEnabled(bool &bEnabled) -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - bEnabled = false; - - nErr = domeCommand("!DGl2;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - if(strstr(szResp,"Yes")) - bEnabled = true; - - return nErr; -} - -int CDomePro::setDomeShutter1_OCP_Limit(double dLimit) -{ - int nErr = DP2_OK; - int ulTmp; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - ulTmp = (int)floor((dLimit/0.0468f)+0.5); - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSx10x%08X;", ulTmp); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeShutter1_OCP_Limit(double &dLimit) -{ - int nErr = DP2_OK; - int ulTmp; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGx1;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - ulTmp = (int)strtoul(szResp, NULL, 16); - - dLimit = (double)ulTmp * 0.0468f; - - return nErr; - -} - -int CDomePro::setDomeShutter2_OCP_Limit(double dLimit) -{ - int nErr = DP2_OK; - int ulTmp; - char szResp[SERIAL_BUFFER_SIZE]; - char szCmd[SERIAL_BUFFER_SIZE]; - - ulTmp = (int)floor((dLimit/0.0468f)+0.5); - - snprintf(szCmd, SERIAL_BUFFER_SIZE, "!DSx20x%08X;", ulTmp); - nErr = domeCommand(szCmd, szResp, SERIAL_BUFFER_SIZE); - - return nErr; -} - -int CDomePro::getDomeShutter2_OCP_Limit(double &dLimit) -{ - int nErr = DP2_OK; - int ulTmp; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DGx2;", szResp, SERIAL_BUFFER_SIZE); - if(nErr) - return nErr; - - // convert result hex string to long - ulTmp = (int)strtoul(szResp, NULL, 16); - - dLimit = (double)ulTmp * 0.0468f; - - return nErr; - -} - - - -int CDomePro::clearDomeLimitFault() -{ - int nErr = DP2_OK; - char szResp[SERIAL_BUFFER_SIZE]; - - nErr = domeCommand("!DClf;", szResp, SERIAL_BUFFER_SIZE); - return nErr; -} - - - -void CDomePro::hexdump(const char* inputData, char *outBuffer, int size) -{ - char *buf = outBuffer; - int idx=0; - for(idx=0; idx -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef SB_MAC_BUILD -#include -#endif - - -#include -#include -#include -#include - -#include "licensedinterfaces/sberrorx.h" -#include "licensedinterfaces/serxinterface.h" -#include "licensedinterfaces/loggerinterface.h" - -// #define ATCL_DEBUG 2 // define this to have log files, 1 = bad stuff only, 2 and up.. full debug - -#define SERIAL_BUFFER_SIZE 256 -#define MAX_TIMEOUT 5000 -#define DP2_LOG_BUFFER_SIZE 256 - -/// ATCL response code -#define ATCL_ACK 0x8F -#define ATCL_NACK 0xA5 - -// some DomePro2 value definitions -#define CLASSIC_DOME 0x0D -#define CLAMSHELL 0x0E -#define ROR 0x0F - -// Dome limits bitfield def -#define BitShutter1_Opened (0x1)<<0 -#define BitShutter1_Closed (0x1)<<1 -#define BitShutter2_Opened (0x1)<<2 -#define BitShutter2_Closed (0x1)<<3 -#define BitShutter1_Opened_Fault (0x1)<<4 -#define BitShutter1_Closed_Fault (0x1)<<5 -#define BitShutter2_Opened_Fault (0x1)<<6 -#define BitShutter2_Closed_Fault (0x1)<<7 -#define BitAtHome (0x1)<<8 -#define BitHomeSwitchState (0x1)<<9 -#define BitAtPark (0x1)<<10 - - -enum DomePro2_Module {MODULE_AZ = 0, MODULE_SHUT, MODULE_UKNOWN}; -enum DomePro2_Motor {ON_OFF = 0, STEP_DIR, MOTOR_UNKNOWN}; -enum DomePro2_Polarity {POSITIVE = 0, NEGATIVE, POLARITY_UKNOWN}; -enum DomeAzMoveMode {FIXED = 0, LEFT, RIGHT, GOTO, HOMING, AZ_TO, GAUGING, PARKING, NONE, CLEARING_RIGHT, CLEARING_LEFT}; - -enum DomeProErrors {DP2_OK=0, NOT_CONNECTED, DP2_CANT_CONNECT, DP2_BAD_CMD_RESPONSE, COMMAND_FAILED, INVALID_COMMAND}; - -enum DomeProShutterState {OPEN=0, CLOSED, OPENING, CLOSING, SHUTTER_ERROR, NO_COM, - SHUT1_OPEN_TO, SHUT1_CLOSE_TO, SHUT2_OPEN_TO, SHUT2_CLOSE_TO, - SHUT1_OPEN_COMPL_TO, SHUT1_CLOSE_COMPL_TO, - SHUT2_OPEN_COMPL_TO, SHUT2_CLOSE_COMPL_TO, - NOT_FITTED, INTERMEDIATE, SHUT_GOTO - }; - -enum SwitchState { INNACTIVE = 0, ACTIVE}; - -class CDomePro -{ -public: - CDomePro(); - ~CDomePro(); - - int Connect(const char *szPort); - void Disconnect(void); - bool IsConnected(void) { return m_bIsConnected; } - - void SetSerxPointer(SerXInterface *p) { m_pSerx = p; } - void setLogger(LoggerInterface *pLogger) { m_pLogger = pLogger; }; - - // Dome movement commands - int syncDome(double dAz, double dEl); - - int gotoDomePark(void); - - int unparkDome(void); - int gotoAzimuth(double newAz); - int gotoElevation(double newEl); - int openDomeShutters(); - int CloseDomeShutters(); - int abortCurrentCommand(); - int goHome(); - int learnAzimuthCprRight(); - int learnAzimuthCprLeft(); - - // Dome informations - int getFirmwareVersion(char *version, int strMaxLen); - int getModel(char *model, int strMaxLen); - int getModelType(); - int getModuleType(int &nModuleType); - int getDomeAzMotorType(int &nMotorType); - - int setDomeAzMotorPolarity(int nPolarity); - int getDomeAzMotorPolarity(int &nPolarity); - - int setDomeAzEncoderPolarity(int nPolarity); - int getDomeAzEncoderPolarity(int &nPolarity); - - bool hasShutterUnit(); - - // command complete functions - int isGoToComplete(bool &complete); - int isGoToElComplete(bool &complete); - int isOpenComplete(bool &complete); - int isCloseComplete(bool &complete); - int isParkComplete(bool &complete); - int isUnparkComplete(bool &complete); - int isFindHomeComplete(bool &complete); - int isLearningCPRComplete(bool &complete); - int isPassingHomeComplete(bool &bComplete); - - int isDomeAtHome(bool &bAtHome); - // movements - int isDomeMoving(bool &bIsMoving); - int setDomeLeftOn(void); - int setDomeRightOn(void); - - - // getter/setter - int getDomeHomeAz(double &dAz); - int setHomeAz(double dAz); - - int getDomeAzCoast(double &dAz); - int setDomeAzCoast(double dAz); - - int setParkAz(double dAz); - - double getCurrentAz(); - double getCurrentEl(); - - int getCurrentShutterState(); - - void setShutterAngleCalibration(int nShutter1OpenAngle, int nShutter1rOpenAngleADC, - int nShutter1CloseAngle, int nShutter1CloseAngleADC, - int nShutter2OpenAngle, int nShutter2rOpenAngleADC, - int nShutter2CloseAngle, int nShutter2CloseAngleADC, - bool bShutterGotoEnabled); - - void setDebugLog(bool enable); - - // dome states - int getDomeAzPosition(double &dDomeAz); - int getDomeEl(double &dDomeEl); - - - int getDomeParkAz(double &dAz); - - int getDomeShutterStatus(int &nState); - - int setDomeAzCPR(int nValue); - int getDomeAzCPR(int &nValue); - int getLeftCPR(); - int getRightCPR(); - - // controller low level data - int getDomeSupplyVoltageAzimuthL(double &dVolts); - int getDomeSupplyVoltageShutterL(double &dVolts); - int getDomeSupplyVoltageAzimuthM(double &dVolts); - int getDomeSupplyVoltageShutterM(double &dVolts); - // not yet implemented in the firmware - int getDomeRotationSenseAnalog(double &dVolts); - // - int setDomeShutter1_OpTimeOut(int nTimeout); - int getDomeShutter1_OpTimeOut(int &nTimeout); - int setDomeShutter2_OpTimeOut(int nTimeout); - int getDomeShutter2_OpTimeOut(int &nTimeout); - - int setDomeShutODirTimeOut(int nTimeout); - int getDomeShutODirTimeOut(int &nTimeout); - - int setDomeAzimuthTimeOutEnabled(bool bEnable); - int getDomeAzimuthTimeOutEnabled(bool &bEnable); - int setDomeAzimuthTimeOut(int nTimeout); - int getDomeAzimuthTimeOut(int &nTimeout); - int setDomeShutCloseOnLinkTimeOut(bool bEnable); - int getDomeShutCloseOnLinkTimeOut(bool &bEnable); - int setDomeShutCloseOnClientTimeOut(bool bEnable); - int getDomeShutCloseOnClientTimeOut(bool &bEnable); - int setDomeShutCloseClientTimeOut(int nTimeout); - int getDomeShutCloseClientTimeOut(int &nTimeout); - - int setShutterAutoCloseEnabled(bool bEnable); - int getShutterAutoCloseEnabled(bool &bEnable); - - int getDomeAzDiagPosition(int &nValue); - int clearDomeAzDiagPosition(void); - - // not yet implemented in the firmware - int setDomeShutOpAtHome(bool bEnable); - int getDomeShutOpAtHome(bool &bEnable); - // - - int getDomeShutdownInputState(bool &bEnable); - int getDomePowerGoodInputState(bool &bEnable); - - // not yet implemented in the firmware - int getLastDomeShutdownEvent(void); - // - int setDomeSingleShutterMode(bool bEnable); - int getDomeSingleShutterMode(bool &bEnable); - - int getDomeLinkErrCnt(int &nErrCnt); - int clearDomeLinkErrCnt(void); - - // not yet implemented in the firmware - int getDomeComErr(void); - int clearDomeComErr(void); - // - int setDomeHomeDirection(int nDir); - int getDomeHomeDirection(int &nDir); - - int setDomeAzimuthOCP_Limit(double dLimit); - int getDomeAzimuthOCP_Limit(double &dLimit); - - int setDomeShutterOpenFirst(int nShutter); - int getDomeShutterOpenFirst(int &nShutter); - int setDomeShutterCloseFirst(int nShutter); - int getDomeShutterCloseFirst(int &nShutter); - - int getDomeShutterMotorADC(double &dVolts); - int getDomeAzimuthMotorADC(double &dVolts); - int getDomeShutterTempADC(double &dTemp); - int getDomeAzimuthTempADC(double &dTemp); - - int setDomeShutOpOnHome(bool bEnabled); - int getDomeShutOpOnHome(bool &bEnabled); - - int setHomeWithShutterClose(bool bCloseOnHome); - int getHomeWithShutterClose(bool &bCloseOnHome); - - int setShutter1_LimitFaultCheckEnabled(bool bEnabled); - int getShutter1_LimitFaultCheckEnabled(bool &bEnabled); - - int setShutter2_LimitFaultCheckEnabled(bool bEnabled); - int getShutter2_LimitFaultCheckEnabled(bool &bEnabled); - - int setDomeShutter1_OCP_Limit(double dLimit); - int getDomeShutter1_OCP_Limit(double &dLimit); - - int setDomeShutter2_OCP_Limit(double dLimit); - int getDomeShutter2_OCP_Limit(double &dLimit); - - int clearDomeLimitFault(); - -protected: - - int domeCommand(const char *pszCmd, char *pszResult, int nResultMaxLen); - int readResponse(unsigned char *pszRespBuffer, int bufferLen); - - // conversion functions - void AzToTicks(double pdAz, int &ticks); - void TicksToAz(int ticks, double &pdAz); - - int killDomeAzimuthMovement(void); - - // DomePro getter / setter - - // not yet implemented in the firmware - int setDomeMaxVel(int nValue); - int getDomeMaxVel(int &nValue); - int setDomeAccel(int nValue); - int getDomeAccel(int &nValue); - // - - int setDomeAzCoast(int nValue); - int getDomeAzCoast(int &nValue); - int getDomeAzMoveMode(int &mode); - int getDomeLimits(void); - - int setDomeHomeAzimuth(int nPos); - int getDomeHomeAzimuth(int &nPos); - int homeDomeAzimuth(void); - int goToDomeAzimuth(int nPos); - int goToDomeElevation(int nADC1, int nADC2); - int GoToDomeShutter1_ADC(int nADC); - int GoToDomeShutter2_ADC(int nADC); - - int setDomeParkAzimuth(int nPos); - int getDomeParkAzimuth(int &nPos); - int calibrateDomeAzimuth(int nPos); - int startDomeAzGaugeRight(); - int getDomeAzGaugeRight(int &nSteps); - int startDomeAzGaugeLeft(); - int getDomeAzGaugeLeft(int &nSteps); - - int killDomeShutterMovement(void); - - int getDomeDebug(char *pszDebugStrBuff, int nStrMaxLen); - - int openDomeShutter1(void); - int openDomeShutter2(void); - int closeDomeShutter1(void); - int closeDomeShutter2(void); - int stopDomeShutter1(void); - int stopDomeShutter2(void); - int getDomeShutter1_ADC(int &nPos); - int getDomeShutter2_ADC(int &nPos); - - - void hexdump(const char *inputData, char *outBuffer, int size); - - SerXInterface* m_pSerx; - LoggerInterface* m_pLogger; - bool m_bDebugLog; - - bool m_bIsConnected; - bool m_bHomed; - bool m_bParked; - bool m_bCalibrating; - - int m_nNbStepPerRev; - int m_nNbStepPerRev_save; - int m_nRightCPR; - int m_nLeftCPR; - int m_nLearning; - - double m_dHomeAz; - double m_dParkAz; - double m_dCurrentAzPosition; - double m_dCurrentElPosition; - double m_dGotoAz; - double m_dGotoEl; - int m_nTargetAdc; - - - char m_szFirmwareVersion[SERIAL_BUFFER_SIZE]; - int m_nShutterState; - bool m_bHasShutter; - bool m_bShutterOpened; - - char m_szLogBuffer[DP2_LOG_BUFFER_SIZE]; - int m_nModel; - int m_nModuleType; - int m_nMotorType; - int m_nMotorPolarity; - int m_nAzEncoderPolarity; - - int m_nShutter1OpenedSwitchState; - int m_nShutter1ClosedSwitchState; - int m_nShutter2OpenedSwitchState; - int m_nShutter2ClosedSwitchState; - int m_nAtHomeState; - int m_nAtHomeSwitchState; - int m_nAtParkSate; - - char m_hexdumpBuffer[(SERIAL_BUFFER_SIZE*3)+1]; - - int m_Shutter1OpenAngle; - int m_Shutter1OpenAngle_ADC; - int m_Shutter1CloseAngle; - int m_Shutter1CloseAngle_ADC; - double m_ADC_Ratio1; - - int m_Shutter2OpenAngle; - int m_Shutter2OpenAngle_ADC; - int m_Shutter2CloseAngle; - int m_Shutter2CloseAngle_ADC; - double m_ADC_Ratio2; - - bool m_bShutterGotoEnabled; - -#ifdef ATCL_DEBUG - std::string m_sLogfilePath; - // timestamp for logs - char* timestamp; - time_t ltime; - FILE* Logfile; // LogFile -#endif - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui deleted file mode 100644 index 73d2403..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domepro.ui +++ /dev/null @@ -1,545 +0,0 @@ - - - X2Dome - - - - 0 - 0 - 600 - 550 - - - - - 600 - 550 - - - - - 600 - 550 - - - - DomePro settings - - - - - - - 560 - 0 - - - - - 9999 - 9999 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - 8 - 160 - 560 - 280 - - - - Dome Azimuth Settings - - - - - 288 - 24 - 264 - 248 - - - - Encoders - - - - - 8 - 96 - 136 - 24 - - - - Gauge CPR right - - - - - - 8 - 160 - 248 - 24 - - - - Encoder Polarity (checked = positive) - - - - - - 8 - 64 - 136 - 24 - - - - Rotation coast (deg.) : - - - - - - 8 - 32 - 136 - 24 - - - - Counts per rev : - - - - - - 152 - 32 - 80 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 65535 - - - - - - 152 - 64 - 80 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 1 - - - 360.000000000000000 - - - - - - 8 - 128 - 136 - 24 - - - - Gauge CPR left - - - - - - 152 - 96 - 96 - 24 - - - - : R_Value - - - - - - 152 - 128 - 96 - 24 - - - - : L_Value - - - - - - 72 - 184 - 168 - 24 - - - - Set CPR from Gauged - - - - - - - 8 - 24 - 264 - 96 - - - - Motors - - - - - 8 - 24 - 232 - 24 - - - - Polarity (checked = positive) - - - - - - 16 - 48 - 168 - 24 - - - - Over current protection (A): - - - - - - 184 - 48 - 62 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 24 - 72 - 128 - 16 - - - - (0.0 to disable OCP) - - - - - - - 8 - 136 - 264 - 136 - - - - Homing - - - - - 16 - 64 - 136 - 24 - - - - Home Position (Deg.) : - - - - - - 168 - 64 - 80 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 359.990000000000009 - - - - - - 16 - 32 - 136 - 24 - - - - Homing direction : - - - - - - 128 - 32 - 120 - 24 - - - - - Moving Left - - - - - Moving Right - - - - - - - 16 - 96 - 136 - 24 - - - - Park Position (Deg.) : - - - - - - 168 - 96 - 80 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 359.990000000000009 - - - - - - - - 152 - 8 - 264 - 148 - - - - - - - © RTI-Zone.org, 2018 - - - - - - - - - - Astrometric.png - - - Qt::AlignCenter - - - Astrometric.png - - - - - - - - - 344 - 480 - 213 - 40 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Cancel - - - - - - - OK - - - false - - - true - - - true - - - - - - - - - 336 - 448 - 200 - 24 - - - - Diagnostic data - - - - - - 40 - 448 - 216 - 24 - - - - Dome Shutter/Roof seetings - - - - - - 40 - 480 - 216 - 24 - - - - Timeouts and automatic closure - - - layoutWidget - layoutWidget - MaxDomeIIParams - pushButton_2 - pushButton_3 - pushButton_4 - - - - - - - X2Form - QFrame -
x2form.h
- 1 -
-
- - - - - 8 - - - 8 - - - true - - - true - - - true - - -
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui deleted file mode 100644 index 718590d..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeprodiag.ui +++ /dev/null @@ -1,453 +0,0 @@ - - - X2Dome - - - - 0 - 0 - 344 - 454 - - - - - 344 - 454 - - - - - 344 - 454 - - - - Diagnostic data - - - - - - - 0 - 0 - - - - - 9999 - 9999 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - 24 - 8 - 272 - 192 - - - - Azimuth - - - - - 24 - 40 - 144 - 24 - - - - Azimuth supply voltage : - - - - - - 176 - 40 - 72 - 24 - - - - 1000 Volts - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 24 - 64 - 144 - 24 - - - - Azimuth motor current : - - - - - - 176 - 64 - 72 - 24 - - - - 10 Amps - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 24 - 88 - 144 - 24 - - - - Azimuth temperature : - - - - - - 176 - 88 - 72 - 24 - - - - 30 Deg. C - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 24 - 120 - 112 - 24 - - - - Dignostic count : - - - - - - 144 - 120 - 56 - 24 - - - - 100000 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 24 - 152 - 112 - 24 - - - - Dignostic degrees : - - - - - - 144 - 152 - 56 - 24 - - - - 100000 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 200 - 120 - 64 - 24 - - - - Clear - - - - - - 200 - 152 - 64 - 24 - - - - Clear - - - - - - - 24 - 208 - 272 - 152 - - - - Shutter - - - - - 24 - 32 - 144 - 24 - - - - Shutter supply voltage : - - - - - - 176 - 32 - 72 - 24 - - - - 1000 Volts - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 176 - 80 - 72 - 24 - - - - 30 Deg. C - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 24 - 56 - 144 - 24 - - - - Shutter motor current : - - - - - - 24 - 80 - 144 - 24 - - - - Shutter temperature : - - - - - - 176 - 56 - 72 - 24 - - - - 10 Amps - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 24 - 112 - 96 - 24 - - - - RF link errors : - - - - - - 120 - 112 - 56 - 24 - - - - 100000 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 176 - 112 - 64 - 24 - - - - Clear - - - - - - - 88 - 384 - 213 - 40 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - OK - - - false - - - true - - - true - - - - - - layoutWidget - MaxDomeIIParams - groupBox_3 - - - - - - - X2Form - QFrame -
x2form.h
- 1 -
-
- - - - - 8 - - - 8 - - - true - - - true - - - true - - -
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui deleted file mode 100644 index 4549918..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/domeshutter.ui +++ /dev/null @@ -1,716 +0,0 @@ - - - X2Dome - - - - 0 - 0 - 418 - 752 - - - - - 418 - 752 - - - - - 418 - 752 - - - - Dome Shutter/Roof settings - - - - - - - 0 - 0 - - - - - 9999 - 9999 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - 160 - 672 - 213 - 40 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Cancel - - - - - - - OK - - - false - - - true - - - true - - - - - - - - - 16 - 240 - 360 - 112 - - - - Limit Faults - - - - - 16 - 24 - 320 - 24 - - - - Upper shutter limit fult checking enabled - - - - - - 16 - 48 - 320 - 24 - - - - Lower shutter limit fult checking enabled - - - - - - 16 - 72 - 128 - 24 - - - - Clear limit fault - - - - - - - 16 - 32 - 360 - 200 - - - - Sequencing - - - - - 16 - 32 - 192 - 18 - - - - Single Shutter (upper only) - - - - - - 24 - 64 - 72 - 16 - - - - Open First : - - - - - - 112 - 56 - 104 - 26 - - - - - Upper - - - - - Lower - - - - - - - 24 - 96 - 72 - 16 - - - - Close First : - - - - - - 112 - 88 - 104 - 26 - - - - - Upper - - - - - Lower - - - - - - true - - - - 16 - 120 - 256 - 24 - - - - Inhibit simultaneous shutter motion - - - - - - 16 - 168 - 184 - 24 - - - - Home with shutter closure - - - - - - 16 - 144 - 208 - 24 - - - - Shutter operate only at home - - - - - - - 16 - 16 - 48 - 13 - - - - Model : - - - - - - 72 - 16 - 136 - 13 - - - - The Model - - - - - - 16 - 360 - 360 - 192 - - - - Shutter angle calibration - - - - - 176 - 24 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 180 - - - 90 - - - - - - 16 - 24 - 152 - 24 - - - - Shutter1 opened angle : - - - - - - 16 - 56 - 144 - 24 - - - - Shutter1 closed angle : - - - - - - 16 - 88 - 152 - 24 - - - - Shutter2 opened angle : - - - - - - 16 - 120 - 152 - 24 - - - - Shutter2 closed angle : - - - - - - 176 - 56 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 180 - - - - - - 176 - 88 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 180 - - - 90 - - - - - - 176 - 120 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 180 - - - - - - 248 - 24 - 32 - 24 - - - - ADC - - - - - - 248 - 56 - 32 - 24 - - - - ADC - - - - - - 248 - 88 - 32 - 24 - - - - ADC - - - - - - 248 - 120 - 32 - 24 - - - - ADC - - - - - - 288 - 24 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 4095 - - - 3000 - - - - - - 288 - 56 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 4095 - - - 500 - - - - - - 288 - 88 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 4095 - - - 3000 - - - - - - 288 - 120 - 64 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 4095 - - - 500 - - - - - - 16 - 152 - 200 - 24 - - - - Shutter angle GoTo enabled - - - - - - - 16 - 560 - 360 - 96 - - - - Over Current Protection - - - - - 24 - 24 - 72 - 24 - - - - Shutter1 : - - - - - - 24 - 56 - 72 - 24 - - - - Shutter2 : - - - - - - 96 - 24 - 72 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 1 - - - - - - 96 - 56 - 72 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 1 - - - - - - 184 - 24 - 152 - 24 - - - - Amps (0.0 disable OCP) - - - - - - 184 - 56 - 152 - 24 - - - - Amps (0.0 disable OCP) - - - - - - - - - - X2Form - QFrame -
x2form.h
- 1 -
-
- - - - - 8 - - - 8 - - - true - - - true - - - true - - -
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui b/domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui deleted file mode 100644 index 4ffe0a8..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/dometimeouts.ui +++ /dev/null @@ -1,362 +0,0 @@ - - - X2Dome - - - - 0 - 0 - 360 - 408 - - - - - 360 - 408 - - - - - 360 - 408 - - - - Timeouts and Automatic Closure - - - - - - - 0 - 0 - - - - - 9999 - 9999 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - 104 - 328 - 213 - 40 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Cancel - - - - - - - OK - - - false - - - true - - - true - - - - - - - - - 16 - 208 - 304 - 104 - - - - Automatic closure timeouts - - - - - 8 - 24 - 216 - 24 - - - - Close if no coms (10 - 3600s) : - - - - - - 216 - 24 - 72 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 10 - - - 3600 - - - - - - 8 - 48 - 216 - 24 - - - - Close on radio link timeout (20s) - - - - - - 8 - 72 - 280 - 24 - - - - Close on power fail (PowerGood removal) - - - - - - - 16 - 80 - 304 - 120 - - - - Shutter Timeouts - - - - - 8 - 24 - 208 - 24 - - - - Upper shutter timeout (10-500s) : - - - - - - 8 - 56 - 208 - 24 - - - - Lower shutter timeout (10-500s) : - - - - - - 8 - 88 - 208 - 24 - - - - Opposite dir timeout (4-240s) : - - - - - - 216 - 24 - 72 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 10 - - - 500 - - - - - - 216 - 56 - 72 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 10 - - - 500 - - - - - - 216 - 88 - 72 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 4 - - - 420 - - - 4 - - - - - - - 16 - 8 - 304 - 64 - - - - Azimuth Timeouts - - - - - 8 - 32 - 232 - 24 - - - - Azimuth move timeout (10-1000s) : - - - - - - 240 - 32 - 56 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 10 - - - 1000 - - - 1000 - - - - - - - - - - X2Form - QFrame -
x2form.h
- 1 -
-
- - - - - 8 - - - 8 - - - true - - - true - - - true - - -
diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall deleted file mode 100755 index b7e6e48..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/Scripts/postinstall +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -TheSkyX_Install=~/Library/Application\ Support/Software\ Bisque/TheSkyX\ Professional\ Edition/TheSkyXInstallPath.txt -echo "TheSkyX_Install = $TheSkyX_Install" - -if [ ! -f "$TheSkyX_Install" ]; then - echo TheSkyXInstallPath.txt not found - exit 1 -fi - - -TheSkyX_Path=$(<"$TheSkyX_Install") -echo "Installing to $TheSkyX_Path" - - -if [ ! -d "$TheSkyX_Path" ]; then - echo "Coudln't find TheSkyX application location" - exit 1 -fi - -cp "/tmp/DomePro_X2/domelist DomePro.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" -cp "/tmp/DomePro_X2/domepro.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "/tmp/DomePro_X2/domeprodiag.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "/tmp/DomePro_X2/domeshutter.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "/tmp/DomePro_X2/dometimeouts.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "/tmp/DomePro_X2/Astrometric.png" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "/tmp/DomePro_X2/libDomePro.dylib" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" - -app_owner=`/usr/bin/stat -n -f "%u" "$TheSkyX_Path" | xargs id -n -u` -if [ ! -z "$app_owner" ]; then - chown $app_owner "$TheSkyX_Path/Resources/Common/Miscellaneous Files/domelist DomePro.txt" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domepro.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeprodiag.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeshutter.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/dometimeouts.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/Astrometric.png" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.dylib" -fi -chmod 755 "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.dylib" -rm -rf /tmp/DomePro_X2 - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh deleted file mode 100755 index 488c8a5..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/build.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -mkdir -p ROOT/tmp/DomePro_X2/ -cp "../domepro.ui" ROOT/tmp/DomePro_X2/ -cp "../domeprodiag.ui" ROOT/tmp/DomePro_X2/ -cp "../domeshutter.ui" ROOT/tmp/DomePro_X2/ -cp "../dometimeouts.ui" ROOT/tmp/DomePro_X2/ -cp "../Astrometric.png" ROOT/tmp/DomePro_X2/ -cp "../domelist DomePro.txt" ROOT/tmp/DomePro_X2/ -cp "../build/Release/libDomePro.dylib" ROOT/tmp/DomePro_X2/ - -if [ ! -z "$installer_signature" ]; then -# signed package using env variable installer_signature -pkgbuild --root ROOT --identifier org.rti-zone.DomePro_X2 --sign "$installer_signature" --scripts Scripts --version 1.0 DomePro_X2.pkg -pkgutil --check-signature ./DomePro_X2.pkg -else -pkgbuild --root ROOT --identifier org.rti-zone.DomePro_X2 --scripts Scripts --version 1.0 DomePro_X2.pkg -fi - -rm -rf ROOT diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh deleted file mode 100755 index 77ff8ff..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/linux_install.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/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 - -cp "./domelist DomePro.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" -cp "./domepro.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "./domeprodiag.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "./domeshutter.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "./dometimeouts.ui" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "./Astrometric.png" "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/" -cp "./libDomePro.so" "$TheSkyX_Path/Resources/Common/PlugIns/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 DomePro.txt" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domepro.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeprodiag.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/domeshutter.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/dometimeouts.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/Astrometric.png" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.so" -fi -chmod 755 "$TheSkyX_Path/Resources/Common/PlugIns/DomePlugIns/libDomePro.so" - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh b/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh deleted file mode 100755 index 0f47251..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/installer/rpi_install.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/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 - -cp "./domelist DomePro.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" -cp "./domepro.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" -cp "./domeprodiag.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" -cp "./domeshutter.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" -cp "./dometimeouts.ui" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" -cp "./Astrometric.png" "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/" -cp "./libDomePro.so" "$TheSkyX_Path/Resources/Common/PlugInsARM32/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 DomePro.txt" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/domepro.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/domeprodiag.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/domeshutter.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/dometimeouts.ui" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/Astrometric.png" - chown $app_owner "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/libDomePro.so" -fi -chmod 755 "$TheSkyX_Path/Resources/Common/PlugInsARM32/DomePlugIns/libDomePro.so" - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln deleted file mode 100644 index 6a3ea14..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Express 14 for Windows Desktop -VisualStudioVersion = 14.0.25420.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDomePro", "libDomePro.vcxproj", "{8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x64.ActiveCfg = Debug|x64 - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x64.Build.0 = Debug|x64 - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x86.ActiveCfg = Debug|Win32 - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Debug|x86.Build.0 = Debug|Win32 - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x64.ActiveCfg = Release|x64 - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x64.Build.0 = Release|x64 - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x86.ActiveCfg = Release|Win32 - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj deleted file mode 100644 index faba8fe..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj +++ /dev/null @@ -1,165 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {8BA4CD88-A766-4282-8C75-A1AC17D0FAA2} - Win32Proj - libDomePro - 8.1 - - - - DynamicLibrary - true - v140 - Unicode - - - DynamicLibrary - false - v140 - true - Unicode - - - DynamicLibrary - true - v140 - Unicode - - - DynamicLibrary - false - v140 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS - true - MultiThreadedDebug - - - Windows - true - - - - - - - Level3 - Disabled - _DEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS - true - MultiThreadedDebug - - - Windows - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS - true - MultiThreaded - - - Windows - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - NDEBUG;_WINDOWS;_USRDLL;LIBRIGELDOME_EXPORTS;%(PreprocessorDefinitions)SB_WIN_BUILD;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS - true - MultiThreaded - - - Windows - true - true - true - - - - - - - - - - - - - - - - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters b/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters deleted file mode 100644 index 1314b4d..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/libDomePro/libDomePro.vcxproj.filters +++ /dev/null @@ -1,39 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h deleted file mode 100644 index 52b68f1..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/addfitskeyinterface.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _ADDFITSKETINTERFACE_H -#define _ADDFITSKETINTERFACE_H - -#define AddFITSKeyInterface_Name "com.bisque.TheSkyX.AddFITSKeyInterface/1.0" - -class BasicStringInterface; - -/*! -\brief The AddFITSKeyInterface allows camera drivers to add any number of additional FITS keys to the FITS header. - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -after every exposure is complete and if supported allows the camera to add additional information that will -be recorded in the FITS header of photos taken by TheSkyX. - -Each FITS header key must be of type integer, double, or string. TheSkyX will automatically format integer and double values -according the the FITS definition, but for string keys, it is left up to the camera driver to format correctly. -If this interface is supported, Cameras will first be queried for the number (count) of each type of FITS header key they wish to add, -after which TheSkyX will query the value for each key using a 0-based index for each type of key. - -Please note, TheSkyX automatically adds a number of FITS keys to each photo acquired and this interface does not -allow changing or overriding those keys and their values. - -TheSkyX build 8598 or later is required for this interface to work. Earlier TheSkyX builds simply ignore this interface and adding FITS key is not possible. - -See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. - -Speical note, build 8346 to 8597 this inteface was incorrectly called before the exposure started which may or may not matter depending upon the keywords being -added. - -\ingroup Interface -*/ - -class AddFITSKeyInterface -{ -public: - virtual int countOfIntegerFields(int &nCount) = 0; - virtual int valueForIntegerField(int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, int &nFieldValue) = 0; - - virtual int countOfDoubleFields (int &nCount) = 0; - virtual int valueForDoubleField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, double &dFieldValue) = 0; - - virtual int countOfStringFields (int &nCount) = 0; - virtual int valueForStringField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, BasicStringInterface &sFieldValue) = 0; - - virtual ~AddFITSKeyInterface(){} - -public: - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basiciniutilinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basiciniutilinterface.h deleted file mode 100644 index 01b9aea..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basiciniutilinterface.h +++ /dev/null @@ -1,45 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basicstringinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basicstringinterface.h deleted file mode 100644 index 2d23cfa..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/basicstringinterface.h +++ /dev/null @@ -1,29 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h deleted file mode 100644 index b893969..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradependentsettinginterface.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef _CameraDependentSettingInterface_H -#define _CameraDependentSettingInterface_H - -#define CameraDependentSettingInterface_Name "com.bisque.TheSkyX.CameraDependentSettingInterface/1.0" - -/*! -\brief The CameraDependentSettingInterface allows camera drivers to supply one open-ended, additional argument to the standard - CameraDriverInterface::CCStartExposure function. This offers camera drivers great flexibility in what the setting - does along with the available options. - -\ingroup Interface - -This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. -However, many cameras support options which may be device-specific, or are otherwise unsupported by the default implementation -of acquiring an exposure. Examples might include RBI flush, or multiple data readout modes, specialized processing, etc. - -This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to -dictate all available values or options for this argument. TheSkyX will then allow the user to select between these options when -commanding an exposure with the user interface or through scripting. - -As an example, a company named "XYZ" might use this interface to support enabling/disabling RBI: -- CCGetExtendedSettingName would return "XYZ RBI mode" -- CCGetExtendedValueCount would return 2 -- CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. -- CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. - -If an older version of TheSkyX attaches to a driver implementing this interface, the standard CCStartExposure function -will be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with -nIndex == 0. - -When an exposure is acquired when this interface is supported, the current setting (i.e. whatever option is currently selected) -is written to the FITS header under the FITS key "CDS" with the FITS comment "Camera dependent setting". - -This interface was added in TheSky build 11525. - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class CameraDependentSettingInterface -{ -public: - - virtual ~CameraDependentSettingInterface(){} - -public: - //CameraDependentSettingInterface - - /*!TheSkyX calls this function to query the human-readable name of the camera dependent setting. The string sSettingName is displayed to user as - the label next to the camera dependent setting. The setting name should be relatively short and meaningful. Avoid using an overly generic name. It is strongly - recommended that the setting name be prepended with the company initials (or company name if short), see the detailed description for a specific example. - This way scripted access has a chance to uniquely identifiy the particular camera dependent setting for use in differing contexts. This setting name should - not arbitrarily change once published since it will act as a unique identifier for scripted use of this setting. Available options should not change either, unless added to.*/ - virtual int CCGetExtendedSettingName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, BasicStringInterface &sSettingName)=0; - - /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ - virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the human-readable name of each of the possible values or options the camera dependent argument may take. - The strings returned by this function will be presented to the user for selection. */ - virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; - - /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 - and the result of CCGetExtendedValueCount - 1 */ - virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, - const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h deleted file mode 100644 index 3b3f1bb..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/cameradriverinterface.h +++ /dev/null @@ -1,201 +0,0 @@ -#if !defined(_CameraDriverInterFace_H_) -#define _CameraDriverInterFace_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" -#include "enumcameraindex.h" -#else//TheSkyX X2 Plug In Build -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -typedef enum -{ -CI_NONE, -CI_PLUGIN=10000, -CI_PLUGIN_LAST=CI_PLUGIN+50000, -} enumCameraIndex; -#endif - -//TheSkyX's camera driver interface -#define CAMAPIVERSION 6 - -typedef enum {CCD_IMAGER, CCD_GUIDER} enumWhichCCD; -typedef enum {PT_UNKNOWN, PT_LIGHT, PT_BIAS, PT_DARK, PT_FLAT, PT_AUTODARK} enumPictureType; - -//This is an exact copy of SBIG's enum -typedef enum { zDEV_NONE, zDEV_LPT1, zDEV_LPT2, zDEV_LPT3, zDEV_USB=0x7F00, zDEV_ETH, zDEV_USB1, zDEV_USB2, zDEV_USB3, zDEV_USB4 } enumLPTPort; - -/*! -\brief The CameraDriverInterface allows an X2 implementor to a write X2 camera driver. - -\ingroup Driver - -See the X2Camera for a example. -*/ -class CameraDriverInterface : public DriverRootInterface, public HardwareInfoInterface, public DriverInfoInterface -{ -//Base class start copy here - -public: - inline CameraDriverInterface() - { - m_bLinked = false; - m_Camera = CI_NONE; - } - virtual ~CameraDriverInterface(){}; - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_CAMERA;} - virtual int queryAbstraction(const char* pszName, void** ppVal) =0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; - virtual double driverInfoVersion(void) const =0; - //@} - - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const =0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const =0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const =0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) =0; - virtual void deviceInfoModel(BasicStringInterface& str) =0; - //@} - -//CameraDriverInterface - - /*! ReadOutMode */ - enum ReadOutMode - { - rm_Line = 0, /**< The camera is a line readout device.*/ - rm_Image = 1, /**< The camera is a frame readout device.*/ - rm_FitsOnDisk = 2, /**< The camera provides the image as a FITS on disk.*/ - }; - -public://Properties - - /*!Software Bisque only.*/ - virtual enumCameraIndex cameraId() {return m_Camera;} - /*!Software Bisque only.*/ - virtual void setCameraId(enumCameraIndex Cam) {m_Camera = Cam;} - /*!Return true if the camrea is connected (linked)*/ - virtual bool isLinked() {return m_bLinked;} - /*!Software Bisque only.*/ - virtual void setLinked(const bool bYes) {m_bLinked = bYes;} - - /*! Return the version to this interface, X2 implementors do not modify.*/ - virtual int cameraDriverInterfaceVersion(void) {return CAMAPIVERSION;} - /*! Return how this camera reads out the image.*/ - virtual ReadOutMode readoutMode(void) {return CameraDriverInterface::rm_Line;} - /*! This is called to return the path to the corresponding FITS file, only when readoutMode() returns rm_FitsOnDisk. \sa readoutMode().*/ - virtual int pathTo_rm_FitsOnDisk(char* lpszPath, const int& nPathMaxSize){(void)lpszPath; (void)nPathMaxSize;return 0;} - -public://Methods - - /*! Display a device dependent settings dialog if necessary.*/ - virtual int CCSettings(const enumCameraIndex& Camera, const enumWhichCCD& CCD)=0; - - /*! Connect or establish a link to the camera.*/ - virtual int CCEstablishLink(enumLPTPort portLPT, const enumWhichCCD& CCD, enumCameraIndex DesiredCamera, enumCameraIndex& CameraFound, const int nDesiredCFW, int& nFoundCFW)=0; - /*! Disconnect from the camera.*/ - virtual int CCDisconnect(const bool bShutDownTemp)=0; - - /*! Return the physical size of the camera's detector.*/ - virtual int CCGetChipSize(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nXBin, const int& nYBin, const bool& bOffChipBinning, int& nW, int& nH, int& nReadOut)=0; - /*! Return the number of bin modes this camera supports.*/ - virtual int CCGetNumBins(const enumCameraIndex& Camera, const enumWhichCCD& CCD, int& nNumBins)=0; - /*! Return the size x and y bin size for each bin mode this camera supports.*/ - virtual int CCGetBinSizeFromIndex(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nIndex, long& nBincx, long& nBincy)=0; - - /*! Set the size of subframe in binned pixels.*/ - virtual int CCSetBinnedSubFrame(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nLeft, const int& nTop, const int& nRight, const int& nBottom)=0; - - /*! SBIG specific.*/ - virtual void CCMakeExposureState(int* pnState, enumCameraIndex Cam, int nXBin, int nYBin, int abg, bool bRapidReadout)=0; - - /*! Start the exposure.*/ - virtual int CCStartExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, const int& nABGState, const bool& bLeaveShutterAlone)=0; - /*! Called to know if the exposure is complete. \param pbComplete Set to true if the exposure is complete, otherwise set to false. \param pStatus is SBIG specific and can be ignored.*/ - virtual int CCIsExposureComplete(const enumCameraIndex& Cam, const enumWhichCCD CCD, bool* pbComplete, unsigned int* pStatus)=0; - /*! Called once the exposure is complete. Allows software implementation of downloading since for every CCStartExposure there is a corresponding CCEndExposure.*/ - virtual int CCEndExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const bool& bWasAborted, const bool& bLeaveShutterAlone)=0; - - /*!Return one line of the image. /sa readoutMode().*/ - virtual int CCReadoutLine(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& pixelStart, const int& pixelLength, const int& nReadoutMode, unsigned char* pMem)=0; - /*!Dump n lines to speed up download when a subframe is present.*/ - virtual int CCDumpLines(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nReadoutMode, const unsigned int& lines)=0; - - /*!Return the image. /sa readoutMode().*/ - virtual int CCReadoutImage(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nWidth, const int& nHeight, const int& nMemWidth, unsigned char* pMem)=0; - - /*!Turn off or on temperature regulation.*/ - virtual int CCRegulateTemp(const bool& bOn, const double& dTemp)=0; - /*!Return the temperature and corresponding status. Because camera hardware varies widely with respect to temperature control, this method is intended to accomodate - a wide range of levels of support, from the most basic, where only temperature regulation can be enabled/disabled to the most advanced that includes regulation enabled/disabled, - percent power, a discriptive string assocaited with power, and setpoint or any combination. - \param dCurTemp Return the current temperature or -100 if not supported. - \param dCurPower Return the power applied to the TE cooler or -100 if not supported. - \param lpszPower Return a string associated the power applied to the TE cooler or NULL if not supported. Example strings might be "Off", "Cooling To Setpoint", - "Correcting", "Raising to Ambient", "Ambient", "Max", "Min", "OK (At Setpoint)" - \param nMaxLen The maximum size the lpszPower string can be. - \param bCurEnabled Return 1 if temperature is being regulated or 0 if not. - \param dCurSetPoint Return the current temperature setpoint or -100 if not supported.*/ - virtual int CCQueryTemperature(double& dCurTemp, double& dCurPower, char* lpszPower, const int nMaxLen, bool& bCurEnabled, double& dCurSetPoint)=0; - /*!When possible, return a recommended temperature setpoint. \param dRecSP The recommended temperature setpoint or set to 100 if unable to recommend one.*/ - virtual int CCGetRecommendedSetpoint(double& dRecSP)=0; - /*!Turn the fan of off.*/ - virtual int CCSetFan(const bool& bOn)=0; - - /*!Turn on a camera relay or relays, in 1/100's of a second. Called when autoguiding.*/ - virtual int CCActivateRelays(const int& nXPlus, const int& nXMinus, const int& nYPlus, const int& nYMinus, const bool& bSynchronous, const bool& bAbort, const bool& bEndThread)=0; - - /*!SBIG specific for controlling internal filter wheels.*/ - virtual int CCPulseOut(unsigned int nPulse, bool bAdjust, const enumCameraIndex& Cam)=0; - - /*!Manually control the shutter. This method is only called in very specialized circumstances with specific hardware and or customized software and not called in general. You may implement this if the camera hardware is capable of successfully opening and closing the shutter outside or within the context of an exposure. */ - virtual int CCSetShutter(bool bOpen)=0; - /*!Deprecated. Called after download to resynchronize the PC clock to the real-time clock.*/ - virtual int CCUpdateClock(void)=0; - - /*!Software Bisque only.*/ - virtual int CCSetImageProps(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nReadOut, void* pImage)=0; - /*!Return the camera's full dynamic range, required for \@Focus and \@Focus2 to work.*/ - virtual int CCGetFullDynamicRange(const enumCameraIndex& Camera, const enumWhichCCD& CCD, unsigned long& dwDynRg)=0; - - /*!Called before download.*/ - virtual void CCBeforeDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; - /*!Called after download.*/ - virtual void CCAfterDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; - - //Implemenation below here -protected: - bool m_bLinked; - enumCameraIndex m_Camera; - -//Base class End Copy Above here -}; - - -//Added another export to CamAPI -//Not requried so its backward compatible -//Attempted to add a ptr func to it in CamApi.h, but got bad debug delete error -//(i.e. the CamAPI object header, was different from what CCDSoft allocated. -//This gives TheSkyX a way to talk to a plug in imp outside the context of the above object -//Mostly its for Photometric camera that has NFrames -#ifdef Q_WS_WIN -typedef __declspec(dllexport) int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); -#else -typedef int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); -#endif - -#endif //_CameraDriverInterFace_H_ diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/deviceinfointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/deviceinfointerface.h deleted file mode 100644 index b91a87c..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/deviceinfointerface.h +++ /dev/null @@ -1,34 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/domedriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/domedriverinterface.h deleted file mode 100644 index 830d1eb..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/domedriverinterface.h +++ /dev/null @@ -1,100 +0,0 @@ -#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 {}; - 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 = 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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverinfointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverinfointerface.h deleted file mode 100644 index d6f2129..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverinfointerface.h +++ /dev/null @@ -1,28 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverrootinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverrootinterface.h deleted file mode 100644 index 3478a7a..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverrootinterface.h +++ /dev/null @@ -1,51 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h deleted file mode 100644 index 336611f..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/driverslewstoparkpositioninterface.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _DriverSlewsToParkPositionInterface_H -#define _DriverSlewsToParkPositionInterface_H - -#define DriverSlewsToParkPositionInterface_Name "com.bisque.TheSkyX.DriverSlewsToParkPositionInterface/1.0" - -/*! -\brief The DriverSlewsToParkPositionInterface prevents TheSky from slewing the mount to the park position when a Park command is issued so that the mount driver can take on this responsibility. - -\ingroup Interface - -This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. - -Merely implementing this interface means the mount driver slews to the park position and parks the mount as well as maintains the park position. No additional implementation needed. - -This overrides the default behavior where upon Park, TheSky is responsible for slewing a mount to the park position, parking and maintaining that position. - -This interface was added in TheSky build 11173, see TheSkyXFacadeForDriversInterface::build. - -\sa ParkInterface -*/ -class DriverSlewsToParkPositionInterface -{ -public: - - virtual ~DriverSlewsToParkPositionInterface(void){} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h deleted file mode 100644 index 1886578..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/extendedcamerainterface.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef _ExtendedCameraInterface_H -#define _ExtendedCameraInterface_H - -#define ExtendedCameraInterface_Name "com.bisque.TheSkyX.ExtendedCameraInterface/1.0" - -/*! -\brief - -This interface is deprecated. New development should instead use CameraDependentSettingInterface. -This interface was deprecated in TheSky build 11525. - -Existing drivers that support ExtendedCameraInterface will continure to work, but -developers are encouraged to migrate their code to use CameraDependentSettingInterface. The change -is minimal in that the intefaces are identical except there is one additional method, namely CCGetExtendedSettingName -to supply a name for the extended setting. -A driver may support both ExtendedCameraInterface and CameraDependentSettingInterface and the latter will -prevail if the build is equal to or greater than the build when ExtendedCameraInterface was deprecated. - - -The ExtendedCameraInterface allows camera drivers to supply one additional argument to the standard - CameraDriverInterface::CCStartExposure function. - -\ingroup Interface - -This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. -However, many cameras support options which may be device-specific, or are otherwise unsupported by this default implementation -(such as RBI flush, or multiple data readout modes). - -This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to -enumerate the potential values for this argument. TheSkyX will then allow the user to select between these values when -commanding an exposure. - -As an example, a simple implementation of this interface to support enabling/disabling RBI might: -* CCGetExtendedValueCount would return 2 -* CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. -* CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. - -If an older version of TheSkyX attaches to a driver implementing this function, the standard CCStartExposure function -should be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with -nIndex == 0. - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class ExtendedCameraInterface -{ -public: - - virtual ~ExtendedCameraInterface(){} - -public: - //ExtendedCameraInterface - /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ - virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the human-readable name of each of the possible values the extended argument may take. - The strings returned by this function will be presented to the user for selection. */ - virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; - - /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 - and the result of CCGetExtendedValueCount - 1 */ - virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, - const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h deleted file mode 100644 index 5dc07ec..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheeldriverinterface.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef _FilterWheelDriverInterface_H -#define _FilterWheelDriverInterface_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" -#include "imagingsystem/hardware/interfaces/licensed/filterwheelmovetointerface.h" -#else -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#include "../../licensedinterfaces/filterwheelmovetointerface.h" -#endif - -/*! -\brief The FilterWheelDriverInterface allows an X2 implementor to a write X2 filter wheel driver. - -\ingroup Driver - -See the X2FilterWheel for an example. -*/ -class FilterWheelDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FilterWheelMoveToInterface -{ -public: - virtual ~FilterWheelDriverInterface(){} - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FILTERWHEEL;} - virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const = 0; - virtual double driverInfoVersion(void) const = 0; - //@} - - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; - virtual void deviceInfoModel(BasicStringInterface& str) = 0; - //@} - - /*!\name LinkInterface Implementation - See LinkInterface.*/ - //@{ - virtual int establishLink(void) = 0; - virtual int terminateLink(void) = 0; - virtual bool isLinked(void) const = 0; - //@} - - /*!\name FilterWheelMoveToInterface Implementation - See FilterWheelMoveToInterface.*/ - //@{ - virtual int filterCount(int& nCount) = 0; - virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut) = 0; - virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; - virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; - virtual int endFilterWheelMoveTo(void) = 0; - virtual int abortFilterWheelMoveTo(void) = 0; - //@} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h deleted file mode 100644 index 6c841de..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/filterwheelmovetointerface.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef _FilterWheelMoveToInterface_H -#define _FilterWheelMoveToInterface_H - -#define FilterWheelMoveToInterface_Name "com.bisque.TheSkyX.FilterWheelMoveToInterface/1.0" - -class BasicStringInterface; - -/*! -\brief The FilterWheelMoveToInterface allows moving to a specific filter. - -\ingroup Interface - -This interface is used by TheSkyX to move a filter wheel to a specific filter. -By nature this interface supports moving to a filter asyncrhonously, but can also -be used to move to a filter synchronously. - -*/ -class FilterWheelMoveToInterface -{ -public: - - virtual ~FilterWheelMoveToInterface(){} - -public: - - /*!Return the total number of available filters.*/ - virtual int filterCount(int& nCount) = 0; - - /*!Start the move to operation.*/ - virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; - /*!Sets bComplete to non zero when the move to is complete.*/ - virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; - /*!End the move to. This function is always called for every corresponding startFilterWheelMoveTo(), allowing software implementations of move to.*/ - virtual int endFilterWheelMoveTo(void) = 0; - /*!Abort any move to operation in progress.*/ - virtual int abortFilterWheelMoveTo(void) = 0; - - /*!Return a default name of the filter associated with nIndex (in the range 0 to nCount-1 returned by filterCount(nCount)). - This is optional and gives X2 drivers a way to provide a default filter name if so desired. The default implemenation does nothing, - in which case TheSky will provide a default name for each filter. TheSkyX provides a means for users to edit filter names as well.*/ - virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut){(void)nIndex; return 0;}; - - /*! \page embeddeddevices Embedded Devices - - In an effort to lessen the burden in developing device drivers for TheSkyX, X2 specifically addresses the concept of an embedded device. - The X2 architecture by default keeps in line with object oriented programming techniques which strive to keep objects independent of one another, - for example a camera and a filter wheel are independent. This is fine when physically the devices are separate, say from two manufacturers and - they communicate on two different ports and they are independent. In practice, many cameras have a built in filter wheel, - and both camera and filter wheel communicate over the same port and a (plug in) driver model that treats them independently can place a burden - on the developer to solve how to get the two independent drivers hosted in two shared libraries (dlls) to communicate over the same port. - - TheSkyX has the means to allow a camera to have an embedded filter wheel (a mount having an embedded focuser might be next - but TheSkyX already has native drivers for most popular mounts with embedded focusers). - - The following are required for a camera to have a embedded filter wheel from TheSkyX's perspective: - - -# 1) The x2 camera driver must implement the FilterWheelMoveToInterface. - -# 2) The hardwarelist.txt for the filter wheel must have its "MapsTo" field set to "Camera's Filter Wheel". - - With this combination, TheSkyX will simply delegate the filter wheel calls to the camera's implementation of the FilterWheelMoveToInterface, - thus "easily" allowing a camera driver to be created that has an embedded filter wheel while at the same time not duplicating interfaces to address - an independent filter wheel vs. an dependent (embedded) filter wheel. - - Also see MultiConnectionDeviceInterface. - */ - - - /*!The default implementation of this function does nothing which is correct for most filter wheels. Only consider this function if you are - implementing a camera's embedded filter wheel. - - If a CameraDriverInterface implements the FilterWheelMoveToInterface (for an embedded filter wheel), TheSkyX calls embeddedFilterWheelInit - passing along the name of the filter wheel selection just prior to establishLink for the camera. - This serves to provide the camera sufficient information to be prepared for filter wheel control. - X2 implementors can give many names to an embedded filter wheel(s) through their hardwarelist.txt, - in case that differentiation helps in implementation or there are n filter wheel models to choose from. - For more information, see the \ref embeddeddevices page.*/ - virtual void embeddedFilterWheelInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h deleted file mode 100644 index e7280b7..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusergotointerface2.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef _FocuserGotoInterface2_H -#define _FocuserGotoInterface2_H - -#ifdef THESKYX_FOLDER_TREE -#include "components/basicstring/basicstringinterface.h" -#else -#include "../../licensedinterfaces/basicstringinterface.h" -#endif - -#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" - -/*! -\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. - -\ingroup Interface - -The nature of a focuser is that it moves relative from where it is, in(-) and out(+). -This justifies why startFocGoto() is relative rather than absolute. An absolute goto can -be accomplished by the more primitive, indigenous startFocGoto. - -The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases -startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers -can essentially "fake" the the asynchronousness. - -*/ - -class FocuserGotoInterface2 -{ -public: - - virtual ~FocuserGotoInterface2(){} - -public: - - /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ - virtual int focPosition(int& nPosition) =0; - /*! Return the focusers minimum limit.*/ - virtual int focMinimumLimit(int& nMinLimit) =0; - /*! Return the focusers maximum limit.*/ - virtual int focMaximumLimit(int& nMaxLimit) =0; - /*! Abort an operation in progress.*/ - virtual int focAbort() =0; - - /*! Initiate the focus goto operation.*/ - virtual int startFocGoto(const int& nRelativeOffset) = 0; - /*! Return if the goto is complete.*/ - virtual int isCompleteFocGoto(bool& bComplete) const = 0; - /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ - virtual int endFocGoto(void) = 0; - - /*! Return the number (count) of avaiable focuser gotos.*/ - virtual int amountCountFocGoto(void) const = 0; - /*! Return a string along with the amount or size of the corresponding focuser goto.*/ - virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; - /*! Return the current index of focuser goto selection. */ - virtual int amountIndexFocGoto(void) =0; - - /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ - virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h deleted file mode 100644 index 8d71e62..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuser/focusertemperatureinterface.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _FocuserTemperatureInterface_H -#define _FocuserTemperatureInterface_H - -#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" - -/*! -\brief The FocuserTemperatureInterface allows focusers to report their current temperature. - -\ingroup Interface - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class FocuserTemperatureInterface -{ -public: - - virtual ~FocuserTemperatureInterface(){} - -public: - //FocuserTemperatureInterface - /*!TheSkyX calls this fuunction to return the focuser's current temperature. - The value should be reported in degrees celsius. For drivers that support multiple focusers - where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or - setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ - virtual int focTemperature(double &dTemperature)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h deleted file mode 100644 index dd78ffa..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focuserdriverinterface.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _FocuserDriverInterface_H -#define _FocuserDriverInterface_H - -#ifdef THESKYX_FOLDER_TREE -#include "imagingsystem/hardware/interfaces/licensed/driverrootinterface.h" -#include "imagingsystem/hardware/interfaces/licensed/deviceinfointerface.h" -#include "imagingsystem/hardware/interfaces/licensed/driverinfointerface.h" -#include "imagingsystem/hardware/interfaces/licensed/linkinterface.h" -#include "imagingsystem/hardware/interfaces/licensed/focuser/focusergotointerface2.h" -#include "sberror.h" -#else -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/focuser/focusergotointerface2.h" -#endif - -/*! -\brief The FocuserDriverInterface allows an X2 implementor to a write X2 focuser driver. - -\ingroup Driver - -See the X2Focuser for an example. -*/ -class FocuserDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FocuserGotoInterface2 -{ -public: - virtual ~FocuserDriverInterface(){} - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FOCUSER;} - virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const {}; - virtual double driverInfoVersion(void) const {return 0.0;} - //@} - - /*!\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 LinkInterface Implementation - See LinkInterface.*/ - //@{ - virtual int establishLink(void) = 0; - virtual int terminateLink(void) = 0; - virtual bool isLinked(void) const = 0; - //@} - - /*!\name FocuserGotoInterface2 Implementation - See FocuserGotoInterface2.*/ - virtual int focPosition(int& nPosition) =0; - virtual int focMinimumLimit(int& nMinLimit) =0; - virtual int focMaximumLimit(int& nMaxLimit) =0; - virtual int focAbort() =0; - - virtual int startFocGoto(const int& nRelativeOffset) = 0; - virtual int isCompleteFocGoto(bool& bComplete) const = 0; - virtual int endFocGoto(void) = 0; - - virtual int amountCountFocGoto(void) const = 0; - virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; - virtual int amountIndexFocGoto(void)=0; - //@} - - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h deleted file mode 100644 index e7280b7..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusergotointerface2.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef _FocuserGotoInterface2_H -#define _FocuserGotoInterface2_H - -#ifdef THESKYX_FOLDER_TREE -#include "components/basicstring/basicstringinterface.h" -#else -#include "../../licensedinterfaces/basicstringinterface.h" -#endif - -#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" - -/*! -\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. - -\ingroup Interface - -The nature of a focuser is that it moves relative from where it is, in(-) and out(+). -This justifies why startFocGoto() is relative rather than absolute. An absolute goto can -be accomplished by the more primitive, indigenous startFocGoto. - -The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases -startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers -can essentially "fake" the the asynchronousness. - -*/ - -class FocuserGotoInterface2 -{ -public: - - virtual ~FocuserGotoInterface2(){} - -public: - - /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ - virtual int focPosition(int& nPosition) =0; - /*! Return the focusers minimum limit.*/ - virtual int focMinimumLimit(int& nMinLimit) =0; - /*! Return the focusers maximum limit.*/ - virtual int focMaximumLimit(int& nMaxLimit) =0; - /*! Abort an operation in progress.*/ - virtual int focAbort() =0; - - /*! Initiate the focus goto operation.*/ - virtual int startFocGoto(const int& nRelativeOffset) = 0; - /*! Return if the goto is complete.*/ - virtual int isCompleteFocGoto(bool& bComplete) const = 0; - /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ - virtual int endFocGoto(void) = 0; - - /*! Return the number (count) of avaiable focuser gotos.*/ - virtual int amountCountFocGoto(void) const = 0; - /*! Return a string along with the amount or size of the corresponding focuser goto.*/ - virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; - /*! Return the current index of focuser goto selection. */ - virtual int amountIndexFocGoto(void) =0; - - /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ - virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h deleted file mode 100644 index 8d71e62..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/focusertemperatureinterface.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _FocuserTemperatureInterface_H -#define _FocuserTemperatureInterface_H - -#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" - -/*! -\brief The FocuserTemperatureInterface allows focusers to report their current temperature. - -\ingroup Interface - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class FocuserTemperatureInterface -{ -public: - - virtual ~FocuserTemperatureInterface(){} - -public: - //FocuserTemperatureInterface - /*!TheSkyX calls this fuunction to return the focuser's current temperature. - The value should be reported in degrees celsius. For drivers that support multiple focusers - where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or - setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ - virtual int focTemperature(double &dTemperature)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h deleted file mode 100644 index 457dd4c..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/gpsinterface.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _GPSInterface_H -#define _GPSInterface_H - -#define GPSInterface_Name "com.bisque.TheSkyX.GPSInterface/1.0" - -/*! -\brief The GPSInterface allows communcation with a GPS device. - -\ingroup Interface - -This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. -In the future, other devices may be queried for implementation of this interface if and when GPS services ever exist on these devices. -*/ - -class GPSInterface -{ -public: - - virtual ~GPSInterface(){} - -public: - //GPSInterface - /*!Return true if the GPS exists and is present.*/ - virtual bool gpsExists(void)=0; - /*!Return true if the GPS is connected (linked).*/ - virtual int isGPSLinked(bool&)=0; - /*!Return the longitude in degrees.*/ - virtual int gpsLongitude( double& dLong )=0; - /*!Return the latitude in degrees.*/ - virtual int gpsLatitude( double& dLat )=0; - /*!Return the date.*/ - virtual int gpsDate( int& mm, int& dd )=0; - /*!Return the time.*/ - virtual int gpsTime( int& hh, int& min, double& s)=0; - /*!Return the year.*/ - virtual int gpsYear(int& yy)=0; - /*!Return the timezone.*/ - virtual int gpsTimeZone(int& tz)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h deleted file mode 100644 index 8253b68..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/hardwaremodeloverride.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _HardwareModelOverrideInterface_H -#define _HardwareModelOverrideInterface_H - -#define HardwareModelOverrideInterface_Name "com.bisque.TheSkyX.HardwareModelOverrideInterface/1.0" - -/*! -\brief The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than the -'Model' field found in the corresponding company specific 'hardwarelist.txt' file. - -\ingroup Interface - -This interface is optional. It is not recommended to support this interface unless it is absolutely necessary. -Software Bisque has found that customers expect to be able to explicitly choose their hardware model and if they -cannot, they will usually require technical support. -The recommended way x2 drivers list their hardware model(s) is to explicitly list each model in their company -specific "hardwarelist.txt" (see the "hardwarelist.txt" for details). The "hardwareList.txt" convention provides -a simple way to list n models that point to one or more drivers without requiring any hardware i/o calls. - -The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than what is listed -in the company specific hardware list. Examples of implementing this interface may include cases where listing all -possible models isn't desirable or if the x2 driver is consuming another entire driver model where the -actual model of hardware is purposefully hidden and if and only if the real model is known after connection. - -TheSkyX build 6655 or later is required for this optional interface to work. Earlier builds simply ignore it. - -See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. - -*/ - -class HardwareModelOverrideInterface -{ -public: - - virtual ~HardwareModelOverrideInterface(){} - -public: - //HardwareModelOverrideInterface - /*!Return a model name.*/ - virtual void hardwareModelOverride(BasicStringInterface& str)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/linkinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/linkinterface.h deleted file mode 100644 index 29bcb41..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/linkinterface.h +++ /dev/null @@ -1,40 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/loggerinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/loggerinterface.h deleted file mode 100644 index 08b747c..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/loggerinterface.h +++ /dev/null @@ -1,72 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h deleted file mode 100644 index 4018260..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/modalsettingsdialoginterface.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef _ModalSettingsDialogInterface_H -#define _ModalSettingsDialogInterface_H - -#define ModalSettingsDialogInterface_Name "com.bisque.TheSkyX.ModalSettingsDialogInterface/1.0" - -/*! -\brief The ModalSettingsDialogInterface allows X2 implementors to display a customized settings user interface. - -\ingroup Interface - -X2 implementors can implement this interface to have TheSky display their own, modal, settings user interface. - -Warning, if this interface is implemented without a using X2GUIInterace, the resulting X2 driver will -require either some kind of cross platform windowing library or windowing code native to each operating system. -Instead, X2 implementors are encouraged to use the X2GUIInterace in their implementation of this interface -(see the X2Camera for a complete example) to keep their driver more maintainable and portable across operating systems -and to simplify their driver distribution. - -\sa SerialPortParams2Interface -*/ - -class ModalSettingsDialogInterface -{ -public: - - virtual ~ModalSettingsDialogInterface(){} - -public: - //ModalSettingsDialogInterface - /*! Initialize the modal settings dialog.*/ - virtual int initModalSettingsDialog(void) = 0; - /*! Execute and display the modal settings dialog.*/ - virtual int execModalSettingsDialog(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h deleted file mode 100644 index 626d209..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/asymmetricalequatorialinterface.h +++ /dev/null @@ -1,195 +0,0 @@ -#ifndef _AsymmetricalEquatorialInterface_H -#define _AsymmetricalEquatorialInterface_H - -#include "mounttypeinterface.h" - -#define AsymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.AsymmetricalEquatorialInterface/1.0" - -/*!\defgroup Tool Device Driver Tool Kit*/ -/*!\defgroup Driver Driver Interfaces */ -/*!\defgroup Interface Optional Interfaces*/ -/*!\defgroup Example Example Drivers*/ -/*!\defgroup GUI Graphical User Interface (GUI)*/ - -/*! \page x2howto How to Write a TheSkyX Driver - - For illustration purposes, the following steps are for creation of a camera driver, but the same steps are involved in making any X2 driver. - - The X2Camera example source code provides a pattern to follow to create a TheSkyX camera driver. - - -# Obtain TheSkyX version 10.1.9 or later. - -# Tell TheSkyX A) how to display your camera to the user for selection and B) the name of the file that is your plug in binary by making your own company specific list of camera hardware. - -# Make a copy of "cameralist.txt" distributed by TheSkyX and name it "cameralist My Company.txt" where 'My Company' is your company name. The files goes in the same folder as cameralist.txt. - -# Edit "cameralist My Company.txt" remove all lines except one and by following the existing format, enter your specific camera information and the name of your plug in binary is "My Company Plug In File Name", for example: - -# "2|My Company|My Company Hardware Model|Comment| |My Company Plug In File Name|x2 developer string||||" - -# See the header of the file "hardwarelist.txt" distributed by TheSkyX for more details on this file format. - -# Compile the X2Camera sample unmodified, and place the binary into the TheSkyX/Resources/Common/PlugIns/CameraPlugIns folder. Start TheSkyX, go to Telescope, Setup and in the Imaging System Setup tree select Cameras, select the X2Camera and choose Connect. The X2 plug in dll CCEstablishLink will be called. - -# Implement the X2Camera with device dependent io calls. See the X2Camera source for more details on function calls. Use conditional compilation for OS specific io calls or branch in main.cpp with two entirely different X2Camera implementations depending upon OS. - -*/ - -/*! \page x2driverinstall Installing Your X2 Driver - - The x2 developer should provide a means to install/update their driver independent of TheSkyX. For cross platform drivers, there is the need for a Windows/Mac installer. - Unfortunately, we are not aware of any good, free, cross platform installers (Installshield and bitrock are expensive). On Windows consider the MSI or nullsoft installer. - - At a minimum, your own x2 installer will need to distribute two files, your own "hardwarelist .txt" with your list of hardware and the corresponding plug in binary. - Any other libraries your binary requires also need distributed. Please strive to minimize dependencies and static link libraries whenever possible. - - With the above being said, a vision Software Bisque is for TheSkyX to come with drivers (x2 or native) for the most popular hardware and for everything to work "out of the box." - IOW, install TheSkyX, and immediately control your dome, mount, camera, autoguider, filter wheel, focuser, rotator, etc, on either Windows and Mac. This is another primary reason we've - architected x2 the way we did, to keep the x2 driver footprint small, efficient and with as few as possible dependencies. If you have confidence in your x2 driver - and are willing to stand behind it, TheSkyX's installer would love to include it, please contact Software Bisque to discuss. - - \section whereistheskyx Where Is TheSkyX Installed? - - There are many ways to find out where TheSkyX is installed. TheSkyX has the following convention to hopefully make it easier to write an installer and works on both Mac and or Windows... - - Conventionally, TheSkyX 10.1.11 (build 4630 and later) provides a way for third parties easily find out where TheSkyX is installed. - The file TheSkyXInstallPath.txt holds the path to where TheSkyX is installed. TheSkyXInstallPath.txt file is found in the folder... - - on Windows: /Software Bisque/TheSkyX Professional Edition - - on Mac: ~/Library/Application Support/Software Bisque/TheSkyX Professional Edition - - (For installations targeting TheSkyX Serious Astronomer Edition, replace the "TheSkyX Professional Edition" with "TheSkyX Serious Astronomer Edition" in the folder paths above.) - - Notes: - - TheSkyX has to be run at least once before TheSkyXInstallPath.txt exists. - - This convention is purposfully not dependent upon the Windows registry. - - TheSkyXInstallPath.txt is updated each time TheSkyX runs, so this convention still allows moving TheSkyX from one hard driver or folder to another. (Installsheild's HKLM\~\App\TheSkyX.exe registry convention is only written on install.) - - Here is a Windows script for determining the folder: - - Set WshShell = Wscript.CreateObject("Wscript.Shell")
- path=WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal")
- MsgBox path
- -*/ - -/*! \page x2changelog Change Log - - - 1.01 - Changed x2mount example to use TheSkyXFacadeForDriversInterface instead of deprecated TheSkyXFacadeForMountsInterface (interface identical). - - 1.02 - Added Mac make files for X2 examples. - - 1.03 - The ModalSettingsDialogInterface and SerialPortParams2Interface are no longer mutually exclusive. - - 1.04 - SerXInterface::open allows setting data bits. - - 1.05 - Filter wheel support, see FilterWheelDriverInterface. - - 1.06 - Documented \ref embeddeddevices. - - 1.07 - Updated \ref x2driverinstall. - - 1.08 - Made all x2 examples explicitly delete device driver tools (x2dome, x2filterwheel, x2mount, x2rotator did not). Published drivers should eventually follow suite to prevent a small memory leak when choosing different hardware. - - 1.09 - Updated LoggerInterface documentation. - - 1.10 - Documented and added X2Focuser example. - - 1.11 - TrackingRatesInterface documentation update. - - 1.13 - Updated documentation to use version 2 of the hardwarelist.txt (TheSkyX is backward compatible with version 1). - - 1.14 - TrackingRatesInterface documentation update. - - 1.15 - Made documentation for CameraDriverInterface::CCQueryTemperature clearer. - - 1.16 - Added HardwareModelOverrideInterface - - 1.17 - Minor documentation update. - - 1.18 - Added MultiConnectionDeviceInterface, PreExposureTaskInterface for cameras. - - 1.19 - Refresh. - - 1.20 - Added DriverSlewsToParkPositionInterface. - - 1.21 - Added CameraDependentSettingInterface, deprecated ExtendedCameraInterface. - -*/ - -/*! \page x2SharingASerialPort Sharing a Serial Port - Sharing a serial port - - See MultiConnectionDeviceInterface. -*/ - -/*! -\mainpage -

The X2 Standard

- -TheSkyX's Cross-Platform, Plug In, Device Driver Architecture
- -X2 Features - - -- Cross-platform (Windows/Mac/Linux) -- Based upon C++ standard. Minimum dependencies for easy portability/maintainability across operating systems. -- Smallest possible driver footprint. Only code specific to the hardware is in the driver, helpful cross platform interfaces are supplied (see \ref Tool). -- Qt is NOT required. Allows third parties to develop drivers independent of any cross-platform library. -- Suitable architecture for hardware manufacturers to rely upon for their native, device driver development. -- Consumable from most every programming language (thin operating system specific callable layering required). -- Architected upon the basic principles of object oriented programming namely encapsulation, polymorphism, and inheritance. - - Inheritance is used carefully where an interface (a C++ class with one or more pure virtual functions) purposefully hides implementation from caller (TheSkyX) minimizing dependencies while focusing the interface on one task. - - Keeps client (TheSkyX) code more managable. -- Modular in terms of levels of support. - - Can handle devices of a given kind with a broad range of capabilities without being plagued with a "CanXXX" for every property/method. - - Basic or "essence" support isn't plagued/complicated by "no op" stubs that must be re-implemented for devices that don't have such a capability. - - Flexible for adding a new capability not found in any other device in kind. Only the device with the new feature needs recompiled not all devices in kind. - - All other devices don't have to be brought up to the same level of support. - - Clients (TheSkyX) wanting to leverage new capability must of course be updated (recompiled) to take advantage of new capability. -- Easy to implement features in devices not up to superset. Clients (TheSkyX) compatible with superset automatically leverage new capability. -- Shows/provides a way (means) to evolve. -- Not a native "discovery" methodology (but discovery standard could be accommodated). -- Supports control of an open-ended number of devices (coming to TheSkyX) along with their persistence . - -Introduction - -One of the main goals of the X2 standard is to make it possible and easy for third parties to write and maintain their own hardware drivers compatible with TheSkyX -on all operating systems it supports. In addition, the X2 standard is by nature extensible, that is, it can grow at the optional, interface level without -all drivers or clients needing to be simultaneously brought up to the same level or even recompiled for that matter. - -\ref x2howto - -\ref x2driverinstall - -\ref x2changelog -*/ - -/*! -\brief The AsymmetricalEquatorialInterface for equtorial mounts. - -\ingroup Interface - -If a X2 mount driver implements this interface, the mount is an asymmetrical equtorial mount (e.g. GEM or cross-axis). -\sa SymmetricalEquatorialInterface -*/ - -class AsymmetricalEquatorialInterface -{ -public: - - virtual ~AsymmetricalEquatorialInterface(){} - - /*! - The default implementation returns the appropriate type of mount. - */ - MountTypeInterface::Type mountType(){return MountTypeInterface::Asymmetrical_Equatorial;} - - /*! - If knowsBeyondThePole() returns false, the mount - cannot distinguish unambiguosly if the OTA end of the declination axis - is either east or west of the pier. This somewhat restricts use of the - mount with TPoint - the mount must always have the OTA end of the declination - axis higher than the counterweights. In other words, the mount should not slew past the meridian. - */ - virtual bool knowsBeyondThePole() {return false;} - - /*! - If knowsBeyondThePole() returns true, - then beyondThePole() tells TheSkyX unambiguously - if the OTA end of the declination axis - is either east (0) or west of the pier (1). - Note, the return value must be correct even - for cases where the OTA end of the Dec axis - is lower than the counterweights. - */ - virtual int beyondThePole(bool& bYes){bYes=false; return 0;} - - /*! - Return the hour angle at which the mount automatically flips. - */ - virtual double flipHourAngle() {return 0;} - - /*! - Return the east and west hour angle limits. - */ - virtual int gemLimits(double& dHoursEast, double& dHoursWest){dHoursEast=dHoursWest=0;return 0;} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h deleted file mode 100644 index aefd259..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/linkfromuithreadinterface.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef _LinkFromUIThreadInterface_H -#define _LinkFromUIThreadInterface_H - -#define LinkFromUIThreadInterface_Name "com.bisque.TheSkyX.LinkFromUIThreadInterface/1.0" - -/*! -\brief The LinkFromUIThreadInterface allows X2 implementors to cause TheSkyX to call establishLink from the user interface thread. - -\ingroup Interface - -X2 implementors can implement this interface to have TheSky call establishLink() from the user interface thread instead of from a background thread by default. -This can simplify drivers that use Microsoft COM on Windows in their implementation . -There are no member functions to this interface, simply implemenenting it is sufficient. - -This only applies to mount drivers. - -\sa LinkInterface -*/ - -class LinkFromUIThreadInterface -{ -public: - - virtual ~LinkFromUIThreadInterface(){} - -public: - - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h deleted file mode 100644 index 844f9ad..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/mounttypeinterface.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _MountTypeInterface_H -#define _MountTypeInterface_H - -#define MountTypeInterface_Name "com.bisque.TheSkyX.MountTypeInterface/1.0" - -/*! -\brief The MountTypeInterface covers all possible mount types that X2 drivers can implement - -\ingroup Tool - -A Naïveté, object oriented architecture might insist upon a property common to all mounts, -namely mountType() (and even worse yet, setMountType() where -implementation might be difficult to dyanmically change from one type of mount to another. -Such a property leads to confusion for all methods and properties related -to the specific type of mount, and which ones apply and don't apply, etc. -In the X2 architecture, the related methods and properties are contained -in optional interfaces that each mount can support as needed. -In other words, X2 doesn't riddle the global scope with n number of stubs -for methods/properties that don't apply. - -Below are the related, mutually exclusive, interfaces when implemented dictate -the type of mount. -\sa SymmetricalEquatorialInterface -\sa AsymmetricalEquatorialInterface -*/ - -class MountTypeInterface -{ -public: - - virtual ~MountTypeInterface(){} - - /*! Mount Type */ - enum Type - { - Symmetrical_Equatorial, /**< e.g. fork, horseshoe or yoke */ - Asymmetrical_Equatorial,/**< e.g. GEM or cross-axis */ - AltAz, /**< Not yet natively supported */ - Unknown, /**< Unknown mount type */ - }; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h deleted file mode 100644 index 0c2c914..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/needsrefractioninterface.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _NeedsRefractionInterface_H -#define _NeedsRefractionInterface_H - - -#define NeedsRefractionInterface_Name "com.bisque.TheSkyX.NeedsRefractionInterface/1.0" - -/*! -\brief The NeedsRefractionInterface for mounts. - -\ingroup Interface - -Mounts that need refraction adjustments means coordinates returned by a -mount are tainted by refraction and the control system -does not do its own internal refraction adjustments. -For example, the Paramount and the Bisque TCS, return true -from this interface so TheSkyX can act accordingly. - -If a mount does its own, internal,refraction, this means -the coordinates returned from a mount have the effects of refraction removed. An example of such a mount is the Meade LX200. - -What this means under the hood, if an X2 mount object returns true to needsRefactionAdjustments() -1)Upon reading raDec, TheSkyX removes the effects of refraction so the "real" object's location is lower than where the mount is currently, physically pointing to in altitude through the atmosphere. -2)Before syncing a mount to a cataloged coordinate, (setting raDec) TheSkyX adds in the effects of refraction to the cataloged coordinate. This is opposite of #1 - in other words, on sync, intitialize the -control system so that when we read raDec and subsequently remove the effects of refraction, the coordinates are the "real" topocententric coordinates. - -Definintion - refraction is zero at zenith, max positive at horizon (a positive value) - -*/ -class NeedsRefractionInterface -{ -public: - - virtual ~NeedsRefractionInterface(){} - -public: - /*!Return true to have TheSkyX handle refraction, otherwise return false.*/ - virtual bool needsRefactionAdjustments(void) {return true;} - - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h deleted file mode 100644 index bf1f15c..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/openloopmoveinterface.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _OpenLoopMoveInterface_H -#define _OpenLoopMoveInterface_H - -#ifdef THESKYX_FOLDER_TREE -#include "imagingsystem/hardware/mountbridge/implementor/mountdriverinterface/mountdriverinterface.h"//For MoveDir -#else//TheSkyX X2 Plug In Build -#include "../mountdriverinterface.h"//For MoveDir -#endif - -//This might not be common - move to underneath MountBridge if specific to mounts - -#define OpenLoopMoveInterface_Name "com.bisque.TheSkyX.OpenLoopMoveInterface/1.0" - -/*! -\brief The OpenLoopMoveInterface allows a mount to move at a given rate for a open-ended amount of time. - -\ingroup Interface - -This interface is typically used by TheSkyX to allow a user-interface button to move the mount, where the mount -moves while the button is down, and the mount stops moving when the button is released. -*/ -class OpenLoopMoveInterface -{ -public: - - virtual ~OpenLoopMoveInterface(){} - -public: - /*!Start the open-loop move.*/ - virtual int startOpenLoopMove(const MountDriverInterface::MoveDir& Dir, const int& nRateIndex) = 0; - /*!End the open-loop move. This function is always called for every corresponding startOpenLoopMove(), allowing software implementations of the move.*/ - virtual int endOpenLoopMove(void) = 0; - - /*!Return true if the mount can be commanded to move in more than one perpendicular axis at the same time, otherwise return false.*/ - virtual bool allowDiagonalMoves() { return false;} - - //OpenLoopMove specifics - - /*! Return the number (count) of avaiable moves.*/ - virtual int rateCountOpenLoopMove(void) const = 0; - /*! Return a string along with the amount or size of the corresponding move.*/ - virtual int rateNameFromIndexOpenLoopMove(const int& nZeroBasedIndex, char* pszOut, const int& nOutMaxSize)=0; - /*! Return the current index of move selection. */ - virtual int rateIndexOpenLoopMove(void)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h deleted file mode 100644 index 68975a1..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/slewtointerface.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _SlewToInterface_H -#define _SlewToInterface_H - -#define SlewToInterface_Name "com.bisque.TheSkyX.SlewToInterface/1.0" - -/*! -\brief The SlewToInterface for mounts. - -\ingroup Interface - -If a X2 mount driver implements this interface, the mount is able to slew to a given RA, dec. -*/ -class SlewToInterface -{ -public: - - virtual ~SlewToInterface(){} - -public: - /*!Initiate the slew.*/ - virtual int startSlewTo(const double& dRa, const double& dDec) = 0; - /*!Called to monitor the slew process. \param bComplete Set to true if the slew is complete, otherwise return false.*/ - virtual int isCompleteSlewTo(bool& bComplete) const = 0; - /*!Called once the slew is complete. This is called once for every corresponding startSlewTo() allowing software implementations of gotos.*/ - virtual int endSlewTo(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h deleted file mode 100644 index 416957e..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/symmetricalequatorialinterface.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _SymmetricalEquatorialInterface_H -#define _SymmetricalEquatorialInterface_H - -#include "mounttypeinterface.h" - -#define SymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.SymmetricalEquatorialInterface/1.0" - -/*! -\brief The SymmetricalEquatorialInterface for equtorial mounts. - -\ingroup Interface - -This is the default mount type (i.e. an equatorial fork) no implementation is necessary. -\sa AsymmetricalEquatorialInterface -*/ - -class SymmetricalEquatorialInterface -{ -public: - - virtual ~SymmetricalEquatorialInterface(){} - - /*!The default implemtnation returns the appropriate type of mount.*/ - MountTypeInterface::Type mountType(){return MountTypeInterface::Symmetrical_Equatorial;} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h deleted file mode 100644 index 77d1501..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/syncmountinterface.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _SyncMountInterface_H -#define _SyncMountInterface_H - -#define SyncMountInterface_Name "com.bisque.TheSkyX.SyncMountInterface/1.0" - -/*! -\brief The SyncMountInterface for mounts. - -\ingroup Interface - -If a X2 mount driver implements this interface, the mount is able to "synced" and have -its internal RA and declination set to particular values. -*/ -class SyncMountInterface -{ -public: - - virtual ~SyncMountInterface(){} - -public: - /*!Set the mount internal RA and declination.*/ - virtual int syncMount(const double& ra, const double& dec) = 0; - /*!Always return true. If possible, return false when appropriate, if and only if the mount hardware has the ability to know if it has been synced or not.*/ - virtual bool isSynced() =0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h deleted file mode 100644 index 75b6907..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mount/trackingratesinterface.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _TrackingRatesInterface_H -#define _TrackingRatesInterface_H - -#define TrackingRatesInterface_Name "com.bisque.TheSkyX.TrackingRatesInterface/1.0" - -/*! -\brief The TrackingRatesInterface allows X2 mounts to support variable tracking rates. - -\ingroup Interface - -*/ -class TrackingRatesInterface -{ -public: - - virtual ~TrackingRatesInterface(){} - -public: - - /*!Set the tracking rates. - - By nature the TrackingRatesInterface is for mounts the can support variable tracking rates. There are mounts that only have two rates, sidereal rate and off. - A workaround to accomodate these mounts would be to respond only to those two particular cases of setTrackingRates (to see these cases, on the Telescope Tab, - Tools, Turn Sidereal Tracking On and Turn Tracking Off). Otherwise return ERR_COMMANDNOTSUPPORTED for rates that the mount isn't capable of, like - tracking a asteroid, comet, etc. */ - virtual int setTrackingRates( const bool& bTrackingOn, const bool& bIgnoreRates, const double& dRaRateArcSecPerSec, const double& dDecRateArcSecPerSec)=0; - - /*!Turn off tracking. Provided for convenience, merely calls setTrackingRates() function.*/ - virtual int trackingOff() - { - return setTrackingRates( false, true, 0.0, 0.0); - } - /*!Turn on sidereal tracking. Provided for convenience, merely calls setTrackingRates() function.*/ - virtual int siderealTrackingOn() - { - return setTrackingRates( true, true, 0.0, 0.0); - } - - /*!Return the current tracking rates. - - A special case for mounts that can set rates, but not read them... - So the TheSkyX's user interface can know this, set bTrackingOn=false and return both rates as -1000.0. - - Another special case convention, for mounts that can read rates, if bTrackingOn=false and the rates are 15.0410681 +- 0.00001 for ra - and 0 +- 0.00001 for dec, TheSkyX's mount status will say 'Tracking off'*/ - virtual int trackingRates( bool& bTrackingOn, double& dRaRateArcSecPerSec, double& dDecRateArcSecPerSec)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h deleted file mode 100644 index e6910a4..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mountdriverinterface.h +++ /dev/null @@ -1,139 +0,0 @@ -#if !defined(_MountDriverInterface_H_) -#define _MountDriverInterface_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" -#include "imagingsystem/hardware/interfaces/licensed/mount/needsrefractioninterface.h" -#else//TheSkyX Plug In Build -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#include "../../licensedinterfaces/mount/needsrefractioninterface.h" -#endif - -/*! -\brief The MountDriverInterface allows an X2 implementor to a write X2 mount driver. - -\ingroup Driver - -See the X2Mount for an example. -*/ -class MountDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public NeedsRefractionInterface -{ -public: - /*! MotorState, Paramount only.*/ - enum MotorState - { - MKS_MOTOR_HOMING =(0x0100), - MKS_MOTOR_SERVO =(0x0200), - MKS_MOTOR_INDEXING =(0x0400), - MKS_MOTOR_SLEWING =(0x0800), - MKS_MOTOR_HOMED =(0x1000), - MKS_MOTOR_JOYSTICKING =(0x2000), - MKS_MOTOR_OFF =(0x4000), - MKS_MOTOR_MOVING = (MKS_MOTOR_HOMING | MKS_MOTOR_SLEWING | MKS_MOTOR_JOYSTICKING), - - }; - - /*!Axis, Parmamount only.*/ - enum Axis - { - AXIS_RA = 0, - AXIS_DEC = 1, - }; - - /*!Move direction.*/ - enum MoveDir - { - MD_NORTH = 0, - MD_SOUTH = 1, - MD_EAST = 2, - MD_WEST = 3, - }; - - /*!MoveRate, Parmamount only.*/ - enum MoveRate - { - MR_FLASH = -2, - MR_BASE = -1, - MR_0R5X = 0, - MR_1X = 1, - MR_2X = 2, - MR_4X = 3, - MR_8X = 4, - MR_16X = 5, - MR_32X = 6, - MR_64X = 7, - MR_128X = 8, - MR_256X = 9, - MR_SLEW = 10, - }; - -public: - virtual ~MountDriverInterface(){} - -public: - -// Operations -public: - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_MOUNT;} - 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; - virtual bool isEstablishLinkAbortable(void) const {return false;} - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; - virtual double driverInfoVersion(void) const = 0; - //@} - - // - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; - virtual void deviceInfoModel(BasicStringInterface& str) = 0; - //@} - - //NeedsRefractionInterface - //Don't forget, each mount implementation must return type cast in queryAbstraction - /*! Return true if the mount wants TheSkyX to handle refraction if and only if the mount itself does not internally handle refraction.*/ - virtual bool needsRefactionAdjustments(void) {return true;} - - /*! Return the mechanical or raw right ascension and declination coordinates of the mount. - \param dRawRA is the right ascension coordinate of the mount from 0 to 24. - \param dRawDec is the declination coordinate of the mount from -90 to +90. - \param bCached may be ignored. - \sa NeedsRefractionInterface for clarity on what is meant by "mechanical or raw" coordinates.*/ - virtual int raDec(double& dRawRA, double& dRawDec, const bool& bCached = false) = 0; - /*! Abort any operation currently in progress.*/ - virtual int abort(void) = 0; - -// Implementation -private: - - - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h deleted file mode 100644 index 6310155..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/multiconnectiondeviceinterface.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef _MultiConnectionDeviceInterface_H -#define _MultiConnectionDeviceInterface_H - -#define MultiConnectionDeviceInterface_Name "com.bisque.TheSkyX.MultiConnectionDeviceInterface/1.0" - -class BasicStringInterface; - - -/*! -\brief This optional interface, MultiConnectionDeviceInterface, provides X2 implementors a way to make x2 drivers that support -the capacity to accept multiple connections simultaneously without error or conflict (such as multi-device hubs). - -All x2 hardware devices, except cameras, can be made to work with the MultiConnectionDeviceInterface. The MultiConnectionDeviceInterface is -fairly generic solution and allows the sharing of any kinds of interfaces. A common use of this interface is to share a serial port between x2 drivers, -in which case the SerXInterface and it's corresponding IO MutexInterface (namely m_pSerX and m_pIOMutex typically found in x2 examples) are shared -between x2 drivers. Sufficiently motivated and experienced developers should be able to use this to control any kind of shared multi-device interface between -the same kind of devices or even with different devices. - -Some concepts: -- All drivers contain a 'resource' of some kind that allows a connection to their device. - Every instance of the driver that's created should have a copy of this resource. -- The first driver to establish a connection will have their resource copy become active. - Subsequent instances of the driver will have inactive copies of the resource -- Drivers with inactive resources will have a reference to the 'active' resource singleton for device interaction. -- While any drivers are connected, the active reference shall not be closed nor destroyed. TheSkyX will ensure this - by directing the driver holding the active resource to 'trade' it with a driver instance that's remaining active - before the link is terminated. -- This interface leverages and is built on top of the standard LinkInterface which TheSkyX uses as a means to connect/disconnect from all x2 drivers. - -Note, this interface is in use in the field and works for the Optec Lynx Focuser (LynxPlugIn, example code snippets below) where two focusers, one for imager, one for autoguider, -share the same serial port, yet are implemented as two instances of the same dll as the imager focuser and the autoguider focuser in TheSkyX. - -Effectively this interface makes it possible for x2 drivers to share a pointer to a resource or resources between -x2 drivers. The LynxPlugIn shares the SerXInterface and MutexInterface but its not necessarily limited to those pointers nor -devices in kind (for example, a mount could share its usb connection with a focuser). - -Keep in mind that TheSkyX will interface with this driver across different threads, so take care that any calls into a connection resource -must be made thread-safe (usually by also sharing the IO MutexInterface as well). - -Implementing this interface should only be attempted after successfully creating x2 drivers that properly work when connecting to -the resource standalone without sharing. If the case where the driver is used stand alone doesn't function properly there is no possible way -a MultiConnectionDeviceInterface implementation is going to work. In fact, the stand alone case will always be the place to turn -when trouble shooting any problems with this interface. IOW, get the two or more x2 drivers to work stand alone without this interface, and -then a MultiConnectionDeviceInterface implementation will work identially except sharing the desired resource(s). When implementing -this interface for the case of sharing a serial port, basically the correct m_pSerX and m_pIOMutex are put inplace (almost) tranparently to -the x2 driver. - -For this interface to function, TheSkyX build 6812 or later released Thursday March 21, 2013 is required. Earlier builds simply ignore -this interface and sharing resoures is not possible. - -See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. - -\ingroup Interface - -*/ -class MultiConnectionDeviceInterface -{ -protected: - int m_nInstanceCount; - -public: - /*!Since drivers implementing this interface behave like "normal" (they don't share a resource) when m_nInstanceCount is 1, this default - constructor allows earlier builds of TSX to run these drivers even if the actual interface isn't implemented.*/ - MultiConnectionDeviceInterface() - { - m_nInstanceCount = 1; - } - - /*!Implementors should return a string identifier unique to this specific physical device or known connection sharing setup. - If multiple instances of the driver are in use, drivers that return identical identifiers will be treated as if they - represent connections to the same physical device. Drivers returning different identifier strings will - continue to be treated as separate pieces of hardware. - - Drivers also implementing SerXInterface will additionally be checked by TheSkyX to see if they share the same - serial port (or TCP/IP address and port combination) or not and act accordingly. - - Here is example code from the LynxPlugIn driver: - \snippet lynxplugin.cpp deviceIdentifier - - */ - virtual int deviceIdentifier(BasicStringInterface &sIdentifier) = 0; - - - /*! TheSkyX will call this function once immediately before LinkInterface::establishLink(), then again any time the number of - drivers connecting to the same physical device as this one changes. If this is the first driver connecting - to the device, nInstanceCount will be 1. No driver will ever see a '0' value. - - This function can be implemented in order to perform any additional initialization that may be necessary - when the first connection is established. - */ - virtual int setInstanceCount(const int &nInstanceCount) - { - m_nInstanceCount = nInstanceCount; - return 0; - } - - /*! Although some devices may support multiple connections, they may not support them in unlimited numbers. TheSkyX will - call this function before a connection attempt is made to allow the driver to determine if it will be able to successfully attach - to the shared resource. - - For example, a camera/filter wheel combination device may support one camera connection and one filter wheel - device simultaneously. If the peer array already contains both a camera and a filter wheel, bConnectionPossible should be set to false. - - Here is example code from the LynxPlugIn driver: - \snippet lynxplugin.cpp isConnectionPossible - */ - virtual int isConnectionPossible(const int &nPeerArraySize, MultiConnectionDeviceInterface **ppPeerArray, bool &bConnectionPossible) = 0; - - /*! - If the driver determines that a connection is possible, TheSkyX will call this function tell the driver which of its peers - holds the resource that should be used to connect. pPeer will be equal to the 'this' pointer for the first driver to connect. - - Here is example code from the LynxPlugIn driver: - \snippet lynxplugin.cpp useResource - */ - virtual int useResource(MultiConnectionDeviceInterface *pPeer) = 0; - - /*! - TheSkyX will call this function on the driver controlling the active resource immediately before the driver is disconnected. The - driver should 'swap' its (active) resource with the inactive one held by its peer. In this way, the active resource may remain - active without interruption when this instance's link is terminated. - Here is example code from the Lynx driver: - \snippet lynxplugin.cpp swapResource - */ - virtual int swapResource(MultiConnectionDeviceInterface *pPeer) = 0; -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mutexinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mutexinterface.h deleted file mode 100644 index 7b169e7..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/mutexinterface.h +++ /dev/null @@ -1,60 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h deleted file mode 100644 index eb86743..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/noshutterinterface.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _NoShutterInterface_H -#define _NoShutterInterface_H - -#define NoShutterInterface_Name "com.bisque.TheSkyX.NoShutterInterface/1.0" - -/*! -\brief The NoShutterInterface allows camera drivers to report to TheSkyX if a camera does not have a shutter, primarily for use in the acquisition of dark frames. - -\ingroup Interface - -This interface is optional. By default, TheSkyX assumes a camera has a shutter and if that is true this interface isn't important. The NoShutterInterface allows -camera drivers to report to TheSkyX if a camera does not have a shutter. Camera drivers implementing this interface and returning 'false' for bHasShutter when queried -for shutter will cause TheSkyX to prompt the user to manually cover their telescope for all dark frames. - -The NoShutterInterface can even return true for bHasShutter allowing for unified code for single x2 drivers that support multiple camera models, with and without shutters. - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class NoShutterInterface -{ -public: - - virtual ~NoShutterInterface(){} - -public: - //NoShutterInterface - /*!TheSkyX calls this function to query the driver reguarding the existance of its controlled camera's shutter.*/ - virtual int CCHasShutter(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, bool &bHasShutter)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h deleted file mode 100644 index 4e87d5e..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/parkinterface.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _ParkInterface_H -#define _ParkInterface_H - -#define ParkInterface_Name "com.bisque.TheSkyX.ParkInterface/1.0" - -/*! -\brief The ParkInterface allows domes and mounts to be parked. - -\ingroup Interface - -This interface is optional. At this time TheSkyX only queries domes and mounts for implementation of this interface. -In the future, other devices may be queried for implementation of this interface if and when parking ever exists on these devices. - -\sa UnparkInterface -*/ -class ParkInterface -{ -public: - - virtual ~ParkInterface(){} - -public: - - /*!Return true if the device is parked.*/ - virtual bool isParked(void) {return false;} - /*!Initiate the park process.*/ - virtual int startPark(const double& dAz, const double& dAlt)= 0; - /*!Called to monitor the park process. \param bComplete Set to true if the park is complete, otherwise set to false.*/ - virtual int isCompletePark(bool& bComplete) const = 0; - /*!Called once the park is complete. This is called once for every corresponding startPark() allowing software implementations of park.*/ - virtual int endPark(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h deleted file mode 100644 index 1734791..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/pixelsizeinterface.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _PixelSizeInterface_H -#define _PixelSizeInterface_H - -#define PixelSizeInterface_Name "com.bisque.TheSkyX.PixelSizeInterface/1.0" - -/*! -\brief The PixelSizeInterface allows camera drivers to provide the physical pixel size in microns. - -\ingroup Interface - -This interface is optional. TheSkyX queries cameras for implementation of this interface -and if supported will populate the FITS header with the returned pixel size. Don't forget to -respond accrodingly in queryAbstraction(). TheSkyX will only query for this inteferface -after successfully connecting to the camera with CCEstablishLInk(). - -Drivers should always return the size of the pixel in 1x1 binning and in microns. When -populating the FITS header, TheSkyX will adjust the size according to the bin mode -in effect. -*/ - -class PixelSizeInterface -{ -public: - - virtual ~PixelSizeInterface(){} - -public: - //PixelSizeInterface - /*!Return the physical pixel size in 1x1 binning and in microns.*/ - virtual int PixelSize1x1InMicrons(const enumCameraIndex& Camera, const enumWhichCCD& CCD, double& x, double& y)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h deleted file mode 100644 index e46945f..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/preexposuretaskinterface.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _PreExposureTaskInterface_H -#define _PreExposureTaskInterface_H - -#define PreExposureTaskInterface_Name "com.bisque.TheSkyX.PreExposureTaskInterface/1.0" - -/*! -\brief The PreExposureTaskInterface gives cameras a way to inform TheSkyX when executing CameraDriverInterface::CCStartExposure -will take longer than dExposureDuration. - -\ingroup Interface - -This interface is optional. By default, when an exposure is triggered, TheSkyX will display a countdown showing when the -exposure duration set by the user has ellapsed. However, many cameras have additional functions (such as RBI, mirror lock, etc) -that can cause the process of taking an image to take substantially longer than the exposure itself. - -Implementing this interface provides camera driver producers a way to cause TheSkyX to display additional progress bars -before the actual 'exposure' progress bar. - -Note that TheSkyX will continue to rely on CCIsExposureComplete to determine when an exposure has actually finished, any times -reported by this interface will be used for display purposes only. Implementing this interface does NOT change the actual sequence -of events that take place during an exposure, but can provide useful feedback to the user. - -There are two types of preexposure task that this interface deals with independantly: -Type 1) Blocking tasks that must take place before CCStartExposure begins -Type 2) Nonblocking tasks that occur after CCStartExposure begins, but while CCIsExposureComplete is "false" - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class PreExposureTaskInterface -{ -public: - - virtual ~PreExposureTaskInterface(){} - -public: - //PreExposureTaskInterface - - /* These functions provide status text for Type (1) pre-exposure tasks that take place BEFORE CCStartExposure is called. */ - - /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ - virtual int CCGetBlockingPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ - virtual int CCGetBlockingPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; - - /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ - virtual int CCExecuteBlockingPreExposureTask(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex)=0; - - /* These functions provide status text for Type (2) pre-exposure tasks that take place AFTER CCStartExposure is called */ - - /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ - virtual int CCGetPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ - virtual int CCGetPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, double &dDuration, BasicStringInterface &sName)=0; - - /*For cameras that also implement ExtendedCameraInterface, this function will be called to let the camera know which additional argument index will be used - Cameras without this interface may leave the provided default implementation as-is*/ - virtual int CCSetAdditionalArgInterface(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int &nIndex) { return 0 /*SB_OK*/; } -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h deleted file mode 100644 index c957bd3..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/rotatordriverinterface.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _RotatorDriverInterface_H -#define _RotatorDriverInterface_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 "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#endif - -class BasicStringInterface; - -/*! -\brief The RotatorDriverInterface allows an X2 implementor to a write X2 rotator driver. - -\ingroup Driver - -See the X2Rotator for an example. -*/ -class RotatorDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface -{ -public: - virtual ~RotatorDriverInterface(){} - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_ROTATOR;} - virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; - virtual double driverInfoVersion(void) const = 0; - //@} - - // - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; - virtual void deviceInfoModel(BasicStringInterface& str) = 0; - //@} - - /*!\name LinkInterface Implementation - See LinkInterface.*/ - //@{ - virtual int establishLink(void) = 0; - virtual int terminateLink(void) = 0; - virtual bool isLinked(void) const = 0; - virtual bool isEstablishLinkAbortable(void) const {return false;} - //@} - - /*!Return the position of the rotator.*/ - virtual int position(double& dPosition) = 0; - /*!Abort any operation in progress.*/ - virtual int abort(void) = 0; - - /*!Initiate the rotator goto.*/ - virtual int startRotatorGoto(const double& dTargetPosition) = 0; - /*!Called to moitor the goto process. \param bComplete Set to true if the goto is complete, otherwise set to false.*/ - virtual int isCompleteRotatorGoto(bool& bComplete) const = 0; - /*!Called after the goto process is complete. This is called once for every corresponding startRotatorGoto() allowing software implementations of gotos.*/ - virtual int endRotatorGoto(void) = 0; - - -}; - - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sberrorx.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sberrorx.h deleted file mode 100644 index fb8ca69..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sberrorx.h +++ /dev/null @@ -1,499 +0,0 @@ -//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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h deleted file mode 100644 index 24ab4b2..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serialportparams2interface.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _SerialPortParams2Interface_H -#define _SerialPortParams2Interface_H - -#ifdef THESKYX_FOLDER_TREE -#include "../staticlibs/serx/serxinterface.h" -#include "components/basicstring/basicstringinterface.h" -#elif X2_FLAT_INCLUDES -#include "serxinterface.h" -#include "basicstringinterface.h" -#else -#include "serxinterface.h" -#include "basicstringinterface.h" -#endif - -#define SerialPortParams2Interface_Name "com.bisque.TheSkyX.SerialPortParams2Interface/1.0" - -/*! -\brief The SerialPortParams2Interface is a cross-platform interface to common serial port parameters. - -\ingroup Interface - -For serial devices, implementing this interface causes TheSkyX to display a general serial port -settings user interface for setting serial port parameters. -This does not encompass all serial port parameters for all operating systems, but does cover the -most common serial port settings applied to astronomical hardware. - -New to TheSkyX Version 10.1.10 (build 4443 and later) a "More Settings" button appears on TheSkyX's -general "Serial Port Settings" dialog if the underlying X2 driver also implements the ModalSettingsDialogInterface. -This allows X2 drivers to leverage TheSkyX's general "Serial Port Settings" dialog while also having -a custom user interface that is displayed when the "More Settings" button is pressed. -In prior TheSkyX builds, the ModalSettingsDialogInterface and SerialPortParams2Interface -where mutually exclusive but that is no longer the case and X2 implementor don't need to duplicate -the serial port settings in their custom user interface. -*/ - -class SerialPortParams2Interface -{ -public: - - virtual ~SerialPortParams2Interface(){} - -public: - /*!Return serial port name as a string.*/ - virtual void portName(BasicStringInterface& str) const = 0; - /*!Set the serial port name as a string.*/ - virtual void setPortName(const char* szPort) = 0; - - /*!Return the buad rate.*/ - virtual unsigned int baudRate() const = 0; - /*!Set the baud rate.*/ - virtual void setBaudRate(unsigned int) = 0; - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isBaudRateFixed() const = 0; - - /*!Return the parity.*/ - virtual SerXInterface::Parity parity() const = 0; - /*!Set the parity.*/ - virtual void setParity(const SerXInterface::Parity& parity)= 0; - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isParityFixed() const = 0;//Generic serial port ui will hide if fixed - - /*!Return the number of data bits.*/ - virtual int dataBits() const {return 8;} - /*!Set the number of data bits.*/ - virtual void setDataBits(const int& nValue){(void)nValue;} - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isDataBitsFixed(){return true;} - - /*!Return the number of stop bits.*/ - virtual int stopBits() const {return 1;} - /*!Set the number of stop bits.*/ - virtual void setStopBits(const int& nValue){(void)nValue;} - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isStopBitsFixed(){return true;} - - /*!Return the flow control. Zero means no flow control.*/ - virtual int flowControl() const {return 0;} - /*!Set the flow control.*/ - virtual void setFlowControl(const int& nValue){(void)nValue;} - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isFlowControlFixed(){return true;} -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serxinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serxinterface.h deleted file mode 100644 index b433982..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/serxinterface.h +++ /dev/null @@ -1,112 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sleeperinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sleeperinterface.h deleted file mode 100644 index 4d0f9e1..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/sleeperinterface.h +++ /dev/null @@ -1,23 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h deleted file mode 100644 index f920c83..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/subframeinterface.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _SubframeInterface_H -#define _SubframeInterface_H - -#define SubframeInterface_Name "com.bisque.TheSkyX.SubframeInterface/1.0" - -/*! -\brief The SubframeInterface allows camera drivers to enable subframe support. - -\ingroup Interface - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -and if supported the user interface in TheSkyX for taking subframe images from cameras is enabled. -Don't forget to respond accordingly in your queryAbstraction(). - -Warning, this interface represents a new, different and mutually exlusive implementation of -CameraDriverInterface::CCSetBinnedSubFrame(). The initial release of TheSkyX didn't allow subframes, however, the -CameraDriverInterface did have the CCSetBinnedSubFrame() and it was called. - -As of build 6200, TheSkyX supports camera subframes (along with autoguiding). To avoid the possibility of breaking existing x2 camera drivers that -may have utilized the information TheSkyX sent in the original call to CameraDriverInterface::CCSetBinnedSubFrame() and or -were never tested with different subframe sizes, implementation of this SubframeInterface is required to enable subframes. -This way published drivers cannot be "broken" and those drivers will have to be "upgraded" to allow subframe support in TheSkyX. - -Please note, CCSetBinnedSubFrame3 call below is different because the last two parameters are -width and height instead of bottom and right as in the original CCSetBinnedSubFrame(). - -If published drivers actually use the information sent by TheSkyX's original call to -CameraDriverInterface::CCSetBinnedSubFrame(), in order to maintain backward compatibility with older -versions of TheSkyX, drivers will still need to work with the old call CCSetBinnedSubFrame() -plus going forward, implement this SubframeInterface. - -*/ - -class SubframeInterface -{ -public: - - virtual ~SubframeInterface(){} - -public: - //SubframeInterface - /*!TheSkyX calls this fuunction to give the driver the size of the subframe in binned pixels. If there is no subframe, the size represents the entire CCD. - For example, a CCD chip that has a width of 1500 pixels and a height of 1200 will have 0,0,1500,1200 for left, top, nWidth, nHeight.*/ - virtual int CCSetBinnedSubFrame3(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int& nLeft, const int& nTop, const int& nWidth, const int& nHeight)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/theskyxfacadefordriversinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/theskyxfacadefordriversinterface.h deleted file mode 100644 index 09d4406..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/theskyxfacadefordriversinterface.h +++ /dev/null @@ -1,84 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/tickcountinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/tickcountinterface.h deleted file mode 100644 index 3117837..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/tickcountinterface.h +++ /dev/null @@ -1,30 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h deleted file mode 100644 index 7a2a6b5..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/unparkinterface.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _UnparkInterface_H -#define _UnparkInterface_H - -#define UnparkInterface_Name "com.bisque.TheSkyX.UnparkInterface/1.0" - -/*! -\brief The UnparkInterface allows domes and mounts to be unparked. - -\ingroup Interface - -At this time TheSkyX only queries domes and mounts for implementation of this interface. -In the future, other devices may be queried for implementation of this interface if and when unparking ever exists on these devices. -This interface is optional. - -\sa ParkInterface -*/ - -class UnparkInterface -{ -public: - - virtual ~UnparkInterface(){} - -public: - /*!Initiate the park process.*/ - virtual int startUnpark(void) = 0; - /*!Called to monitor the unpark process. \param bComplete Set to true if the unpark is complete, otherwise set to false.*/ - virtual int isCompleteUnpark(bool& bComplete) const = 0; - /*!Called once the unpark is complete. This is called once for every corresponding startUnpark() allowing software implementations of unpark.*/ - virtual int endUnpark(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h deleted file mode 100644 index d5fabd6..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/licensedinterfaces/x2guiinterface.h +++ /dev/null @@ -1,239 +0,0 @@ -#ifndef _X2GUIInterface_H -#define _X2GUIInterface_H - -#define X2GUIInterface_Name "com.bisque.TheSkyX.X2GUIInterface/1.0" - -#ifdef THESKYX_FOLDER_TREE -#include "driverrootinterface.h" -#include "components/theskyxfacadefordrivers/theskyxfacadefordriversinterface.h" -#else -#include "driverrootinterface.h" -#include "theskyxfacadefordriversinterface.h" -#endif - -/*! -\ingroup GUI - -\brief The X2GUIExchangeInterface provides the X2 developer the means to get and set data from a graphical user interface (X2GUIInterface) - -The X2GUIInterface returns this interface so X2 developer can set/get data from a X2GUIInterface. - -*/ -class X2GUIExchangeInterface -{ -public: - - virtual ~X2GUIExchangeInterface (){} - -public: - /*! Call this to set text user interface control values*/ - virtual void setText(const char* pszObjectName, const char* pszValue) = 0; - /*! Retreive the text values from user interface controls*/ - virtual void text(const char* pszObjectName, char* pszOut, const int& nOutMaxSize) = 0; - - /*! Enable the user interface control*/ - virtual void setEnabled(const char* pszObjectName, const bool& bEnabled) = 0; - /*! See if the user interface control is enabled*/ - virtual bool isEnabled(const char* pszObjectName) = 0; - - /*! Set the current index on list type user interface controls, like a combo box.*/ - virtual void setCurrentIndex(const char* pszObjectName, const int & nValue) = 0; - /*! Get the current index on list type user interface controls, like a combo box.*/ - virtual int currentIndex(const char* pszObjectName) = 0; - - /*! Check a user interface controls, like a radio button.*/ - virtual void setChecked(const char* pszObjectName, const int & nValue) = 0; - /*! Get if a user interface controls is checked, like a radio button.*/ - virtual int isChecked(const char* pszObjectName) = 0; - - /*! Append a string to a combo box list.*/ - virtual void comboBoxAppendString(const char* pszControlName, const char* pszValue) = 0; - - /*! Set the text of a table widget.*/ - virtual void tableWidgetSetItem(const char* pszControlName, const int& nRow, const int& nCol, const char* pszValue) = 0; - /*! Get the text of a table widget.*/ - virtual void tableWidgetGetItem(const char* pszControlName, const int& nRow, const int& nCol, char* pszValue, const int& nOutMaxSize) = 0; - /*! Get the current row of a table widget.*/ - virtual void tableWidgetCurrentRow(const char* pszControlName, int& nRow) = 0; - /*! Get the current column of a table widget.*/ - virtual void tableWidgetCurrentCol(const char* pszControlName, int& nCol) = 0; - /*! Remove a row of a table widge.t*/ - virtual void tableWidgetRemoveRow(const char* pszControlName, const int& nRow) = 0; - /*! Remove a column of a table widget.*/ - virtual void tableWidgetRemoveCol(const char* pszControlName, const int& nCol) = 0; - - /*! Display a message box.*/ - virtual void messageBox(const char* pszTitle, const char* pszMessage) = 0; - - /*! Call an arbitrary method (signal or slot, not properties) with no argument or one argument (double, int or string)*/ - virtual bool invokeMethod(const char* pszObjectName, const char* pszMethodName, - char* pszReturn=NULL, const int& nReturnMaxSize=0, - const char* pszArg1=NULL)=0; - - /*! Set a text property of a user inteface control.*/ - virtual void setPropertyString(const char* pszObjectName, const char* pszPropertyName, const char* pszValue) = 0; - /*! Get a text property of a user inteface control.*/ - virtual void propertyString(const char* pszObjectName, const char* pszPropertyName, char* pszOut, const int& nOutMaxSize) = 0; - - /*! Set an integer property of a user inteface control.*/ - virtual void setPropertyInt(const char* pszObjectName, const char* pszPropertyName, const int & nValue) = 0; - /*! Get an integer property of a user inteface control.*/ - virtual void propertyInt(const char* pszObjectName, const char* pszPropertyName, int& nValue) = 0; - - /*! Set an double property of a user inteface control.*/ - virtual void setPropertyDouble(const char* pszObjectName, const char* pszPropertyName, const double& dValue) = 0; - /*! Get an double property of a user inteface control.*/ - virtual void propertyDouble(const char* pszObjectName, const char* pszPropertyName, double& dValue) = 0; -}; - -#define X2GUIEventInterface_Name "com.bisque.TheSkyX.X2GUIEventInterface/1.0" -/*! -\ingroup GUI - -\brief The X2UIEventsInterface notifies X2 implementors when user interface events happen. - -X2 implementors can implement this interface to be notified when user interface events happen. -*/ -class X2GUIEventInterface -{ -public: - - /*! Take what ever action is necessary when a user interface event happens, for example, the user pressed a button. \param pszEvent The name of the event that occured following the convention "on__".*/ - virtual void uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent)=0; - -}; - -/*! -\ingroup GUI - -\brief The X2GUIInterface allows X2 implementors to display a customized, cross platform, graphical user interface. - -TheSkyX Build 4174 or later is required for all X2GUI type interfaces. - -When making a graphical user interface associated with a cross platform device driver, the developer is faced with basically two options. - -Option A: the developer could write and maintain native GUI code specific to each operating system. While this is a perfectly valid -solution, the code is difficult to maintain and native GUI expertise/experience is required on all supported operating systems. - -Option B: the developer could use a cross platform graphical user interface library, for -example qt or wxWidgets, to make their graphical user interface. Again a perfectly valid solution, but then the distribution of -any associated GUI libraries falls on the driver developer and if not done carefully, dll $#&& will result (especially in a plug in -architecture). - -Option C: The X2 standard offers a third option when a driver developer is faced with the problem of creating custom graphical user interface -associated with the hardware, that works on multiple operating systems. -X2 developer can use the X2GUIInterface to have TheSky display their own, modal, custom, graphical user interface that is cross platform. -The X2GUIInterface is windowing library agnostic, it does not expose or depend on any cross platform GUI library or windowing code -native to any operating system. The consequence is that X2 drivers using the X2GUIInterface are more or less encapsulated -as far as the GUI goes. So development, distribution and maintenance are greatly simplified. There is of course some overhead in learning the -X2GUIInterface, but the code samples show how to do it. - -The X2GUIInterface requires creating the graphical user interface file with qt's Designer (an open source copy of -Designer (designer.exe) is included in the X2 samples in the footer). The X2 developer distributes -the .ui created by Designer and TheSkyX loads this user interface dynamically at run time. Graphical user interface events are -supported through the X2GUIEventInterface. Qt's Designer is only required at design time by the X2 developer for the creation -of the X2 user interface. The X2 developer does not need to worry about distribution of any qt binaries at run time because -X2 is not dependent upon qt. Please note that the .ui created in this way is considered open source and since the -.ui is visible in TheSkyX anyway there isn't much intellectual property disclosed. - -There are a few rules when using qt's Designer to create a .ui file compatible with X2GUIInterface: - --# All controls must be placed within a QFrame, promoted to an X2Form via the x2form.h and named X2Form (code samples do this for you). --# If you need access to GUI events through the X2GUIEventInterface, keep the default object name that qt Designer creates when dropping user interface -controls inside the X2Form (for example, the first radio button is named "radioButton", the second is "radioButton_2", etc). - -Please note, that not every control and not every event from every control is supported. Never-the-less, the most common ones are supported. -Between the X2GUIExchangeInterface and using qt's Designer to set user interface control properties, a nice GUI can be created with -a fairly broad range of capabilities. - -Declare a local instance of the X2ModalUIUtil class to obtain this interface. See the X2Camera for a complete end to end example of -creating a graphical user interface, setting control values, responding to GUI events and retrieving control values. - -\sa X2ModalUIUtil -*/ - -class X2GUIInterface -{ -public: - - virtual ~X2GUIInterface(){} - -public: - //X2GUIInterface - - /*! Set the name of the Qt user interface file (.ui) that defines your custom user interface. This must be called before calling exec(). The .ui file goes into the same folder as the binary (shared library) of the driver.*/ - virtual int loadUserInterface(const char* pszFileName, const int& dt, const int& nISIndex)=0; - - /*! Returns the X2GUIExchangeInterface associated with this user-interface. */ - virtual X2GUIExchangeInterface* X2DX()=0; - - /*! Display the user interface.*/ - virtual int exec(bool& bPressedOK)=0; - -}; - -/*! -\ingroup GUI - -\brief The X2ModalUIUtil class supplies the X2 developer with the X2GUIInterface interface. - -Declare a local instance of this class to obtain a X2GUIInterface. See the X2Camera for an example. - -The implementation of this class merely assures proper intialization and cleanup of the X2GUIInterface and should not be changed. - -\sa X2Camera -*/ -class X2ModalUIUtil -{ - -public: - /*! Constructor */ - X2ModalUIUtil(DriverRootInterface* pCaller, TheSkyXFacadeForDriversInterface* pTheSkyX) - { - m_pTheSkyX = pTheSkyX; - m_pX2UI = NULL; - m_pX2UIEvent = NULL; - if (pCaller) - pCaller->queryAbstraction(X2GUIEventInterface_Name, (void**)&m_pX2UIEvent); - X2UI(); - } - - /*! Obtain the X2GUIInterface*/ - X2GUIInterface* X2UI() - { - int nErr; - - if (NULL == m_pX2UI && m_pTheSkyX) - { - if ((nErr = m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::GET_X2UI, m_pX2UIEvent, &m_pX2UI))) - return NULL; - } - return m_pX2UI; - } - - /*! Obtain the X2GUIExchangeInterface*/ - X2GUIExchangeInterface* X2DX() - { - if (NULL != m_pX2UI) - { - return m_pX2UI->X2DX(); - } - return NULL; - } - - ~X2ModalUIUtil() - { - if (m_pTheSkyX) - { - if (m_pX2UI) - m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::UNGET_X2UI, NULL, &m_pX2UI); - } - } - -private: - TheSkyXFacadeForDriversInterface* m_pTheSkyX; - X2GUIInterface* m_pX2UI; - X2GUIEventInterface* m_pX2UIEvent; -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp b/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp deleted file mode 100644 index 834705a..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include -#include "licensedinterfaces/basicstringinterface.h" -#include "main.h" -#include "x2dome.h" - - -#define PLUGIN_NAME "X2Dome DomePro" - -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); - - *ppObjectOut = gpMyImpl; - - return 0; -} diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.h deleted file mode 100644 index b3b200f..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/main.h +++ /dev/null @@ -1,27 +0,0 @@ -#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/example_domepro_driver/X2-DomePro-master/rti_zone_logo.ico b/domehunter/protos/example_domepro_driver/X2-DomePro-master/rti_zone_logo.ico deleted file mode 100644 index 02e4fe57cbf486c5a0a714e9d161ddba25d4527d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23982 zcmeHv2Y8g%mG+fv;$)LpF4${llPqAclO?VRZX}NFIK>6BiIX^S9I#^>n`VOnn+~Q4 z(R)X9L=hmm5bC}6t|=NxBWctt9iM&QJM)c3LXvUz-+!Ndp4{j8n4QcB%-pY!wLZzvUx@A~y~em;QT{pxn59(&C7d5}^K-&g7v zzu@PutNZR(YQsxP{QxxZQ&4pN4lhc9PS+tG@{wPiM`E44_Y%_8+ylT_sA zN)0|=Xl{}(zPK)zFJ6?!8izF3)w=J#cIAq+fT1M+f|6zX}a^0K8YBSkF9@lu)?E!C-UQV+%A5=-OT)cMv0{mj5=-=XDUS-) zboS1lCCf*RlocPmEh|R7E!(F}lK6lf;=q2^;{K}KOesrG5*zNdB}7R@T$tD*ac}5J zv7S37r4eVu8h%>L=Z{PA*&|XEv`2FHZ4gI6wlrhU$a5*~wc=iDOep3(r|-4kx8{)J zQgkjz3eOyo%8Vqb&dZdNkRZto+#wg58szGg%bIr^)>{gmjd?A>N2KJ$ekn_glJd+H zX(%ss>*^)wnk^+(sP7!4V^5BeG8fPK-jfHU=;&@KI=)|O%|%iNy}i`d3jO~=>=}uY zwSTi*Y;JVZY^$r0vbb4KAk9@3V$V#Ll}n6b>Sx*+m?{Nx1pCtu|6;&q zbsb&#G(KO2-DqoU5Qo(w)i{6kJclJkQd5)<+hfMQ*>J|H2>VRB-p zX{k5uu!V-bvlkY)Z60a2lv$*`wp#pWO_lc^eNd*p`U|n)Y&y~trNLSv8R6$;3T(i8 zk3A?0aTcw)*>3vRuU*r$uUxnwZS{3hQJC-K+u`K9rOc{rTU&Ld_|N=I-hFtWeD=zV zutzDOFjmfDMpq#1KuX=#=g@K_0Z zS`WE4m71jyucTdHkfZ0*{DVH_lXT{!eEz53YI%|W%+O$|gZ(znDCI)FsVCHlCVK^R z#fm*E5eIaI>!ftoGY%yNq>+`g?!e1JX-TjySe$(2~q}|RSBEbT3e&naIv*j z%Uj!H=t5~$y4YclE8xFMGg8HxnxyTrBRf@UVAq?m9#8&5_wSbZZ@w;Lo_bV9{rErh znvTFn)w%pk6ZWqeeyS4tNt<1fo27YdhP>;G@-%H*O1!3Boffb6*i9e&(~sJ-(*KByp1`=MIcnKJNS3%aFg$zo1P5OY$TnBt?QG9^x`VCxzn zTTlAtglMsap3pYGCNDz{E%VhrX6!SMN$UBt;((m%Fh?!+up08FkEGo%gJwF9GlLp_Q1! z0=~;rf!UY&-hgS4*ehZ>=SxVch8$8yXMXizjxl04~P6n)87EU zNvu)}{;3nqz%zA_ixslAlW)-H+D-A1QXCyBwx|&82OO}MVS9J#bNbP9LuCBWAImt` zHSxt~WfAbesm<%aUyQWYQ~^6cw;}fiU=&AQ7QT@wA4sMl3dzm!gJXT=;iA$*G^wVXSTgx23t$<7n z+E(~k`Y_X}gYZX(#d7wrm`@#$;-J0oOS>fhz!u5by+$&(FM}W537gk07jRz7K)W1g zq71UBfS%ZZLCi5>QV|;p+UGRi9kdT=U!H&Zu;d=uE%`zFff+)8TcWhT&fK$3(l#%~ zy2IoPoG{v+D&QOw@RTVoQc7aNA@4BAgnW0UeNal^GwX21a!+EO$PjI7NrSYmU%Lt% zX_lO$d!z~W))>U670?xX5-~`)lmQRiAd}Oe2cKR9KiyVeD<o0y~M802x-A2=ZizO7!$fvw1!F}MypY)I0Eh5FU_p0D(A z^h2eQl*uXRfNL*3Xcrvbfj!(RIk+le@7gg(1#Dg;{5rzQrIa7*prYSSe z!Qa#Yw^@kEpdY5Lv=45RJYtVsYo#CrdJ0^75&BU9dzg9huq13;EQzaT;hL$j1o2VV z!8NwR$5MxiP9BuPBRhq7h?AN@lMFeJ~i891{5bLAY~i3>715uou_QTQ22gsdZ%PM1*MPl2B% zOVr{i66rTZ;@8ZTxV4`fNQBu=<;>7v%_3&4S9=x`e3m9WWAlJ;(f zeuqlI*+9ty4^{b@|81Pr6;E~jOdQq^*YmjCIE(>cm(lA2U4OiC>5??pA{IkzQVDcGjM0F&tq%CE9zK@%-1Cfa4(?TJW244_t-zS=(BbX|b@c+UcLQiwnN4EL%N09( zv^6_Z$AlL&_NtIp#1I#N>#R9hvU1G3+RrR~?{6Bap)jMnvch(;GOISoJdWss@;bn6K7q(f+mtYvZ~Z4>!Z+U4XC2jf;WLdtBq0 zQBV9(A`k7C7WlO)#5A?}S&&DCY?w42`0^on7x?qTpZrKpAoim?Jcphec8Rg~wab^J zy#clgbK7xU04~z&cF%1ACMl8jYP;mc$H@4f{zUs%`q`*M0n%&+z6Nd}HuInLnZ`iG zC-mv&)1?JGdCouj$wy=#u-ueiJtyx&-#Gu&mtT^q#!Tb~l_q`G8q|D3m zuqNo64d}!s7%?ZtN;P~-4RF5$aeouymt0TzWB;Q959&B;*SwiB zcAJF+Ft&1*sgzWa$acvFu+k%+Tig=V4 z^FMs$e%In+9A!;O6jMrq#;_*HfH>2En4}8Wz5zL(+}O_g7kO}>)MViIz?^09!L^VT zF~jO{??WFR(spR}?_ZG`=oVw~X6Sq?Y;6m0Ezg)0c-8^ku0)Ju!kWv{5Nl!n65zz* z*hnb@Hm`P*xT+yQ~=A?0cYhR4tCq0pA42z#0kw<4>468 z^pi1f?9szA?bVm`d7vK5gMQW{{$q^BJR#*>g*8_p4m3l@t6bQg@jyBDoH;zM--NiQ z4EZ!W@N7BobzM%HbAH4kTo+@_nb0}*3+$Kg6Yr2XgI%r~Z-J3|mIHHd8)2N|&t zb&c_1CH9~K7tbDZp2e8o0t{0OoNfvacE%UTkI~22;Q!|QVVItuXP$Gsi#VP-&sTn? z?oE1WsBHRlg5=}8RKtD{GZE`GU{1!pjV`-phRp3a<7M!lTrcBa8{}~op4z%W4k4#|c*PQr%TL<_`h*hbaSd{erJ=_q_t+jC<52%m@9Ky0^GvUjbKtevYQbH@rv+qwjH zBv#uW=G)3(cPMLKHhf>^$~9XV10&z8bxp^U-OP=6p%`-)91oCO#9sx-k>(xPCOL<| z19G&*$ob}-I4GHWHb}29tdTiuBS&S>H(ohs5n{+H=wR1D z{%+y7@GE{ob%%9 zP3FejjB5)J*A|^Us^@3!p68YEXLqB5G4A>Wl7(1|u~OH;eW=Jt*7EL2=ALtFJ!eiG zv8fq4!Wf-A6vIY0z>gRhgY$5IQnxLaq}8(}8LvI@$lM3&G?nE zaq5n>QiS{kV;|yYD|DGU$?P|TUDwUIXFD%lIaq^VkWNXx=s@O`Nxumzo+1yD13jjL)SC0Hs(9a zp`#Y8)dWAps}$$f4m{d~Sco_=9dUm$atM@p81f6J=X@l=^FEQ-m9r#n*;I-4ohZ?M zlO!GM_@M-CEaktN9HM5 zD|#E3J5MnXAG(bHj+}_`S(|2ExB~H<4fPe~^R2)P7UZkVz&JV|4!>{0Wd=^*-&x~k zY{E1AzcDUB_n9}SWz7nCfWjo$l>9s$8(u_=#+p?->|GnMChJUXz|V})_4n`tj3ugp zZ)=#RM-GKG4Nsf+Kd~m#C*Ka{VIXhH@G|V-Rm9wuOyC^ESl#hX+|QU-=V*|3VBV({ zue?}OXMAc0HrBbvZsK>&%edai?=XMDi+P^zat+mCEXvJSyGi}@mr>wvEtv1hc=#;^cG zGe2P5$Nq$MAAcx2kTWVqEc|7IzK`;525-dGmB955TdCwBHY);8Mbz= zoG0XW4VaVq&KR)kubJ0 z_~v@YAm6cf;aq8j{`WSB!Dth^^3F4BgP!xULg$-dgSyoj$X)Y}_>FPnbbK4v5{97aB&fMk~h@-9oGf{7vkjpV6uCGBYy9Mu= z(pE!k$Uo>%|Jxmv+P1BqIM&HKV{Vt;a36Sv+nPFRJ3XzTzOqtG z8EIO_uR+JI;>=!w-ZYbceh-_?`YL@D>z}RI>l<_iGAG~6L-OjCf1FVSJ-}y;!aSI# z&Wv)cfx1);+xKOId2`yxBIM+1VPmdA?#$mYXL=F3USl?i1w7Ngy+`?%7ZvJ!{XXahb;RJAvgcZu-=?o@#2IHFMo)vdwvPEG*pw33Rq8r(&E%c_ zNBbuDfLhoc*815y=H%U??Tqdt^N>4vXa0fLwF_af%!@85OMzgEH~lJ`q3P1-M2<1_QkHK;AopRk6+o;~JY*?Y$t6LWIR-4L6x z_kwxo8pKx2{V~5%gB(~buHN_$*|P(EgG1bBRi9bNej0jB4lG@$^I`R<`(A27?-%0Z zQsm&6JMbLzV>QtGD|o#KU7=sCE-98)V8p_tc=Qj&c3j9a7vRc6ZZIbXJ!d$_b;x_eW~~N<(L)|~`dpXo(d)pv*k3~1S_*$neK7`e zDh^=aHsTwcfp)x-XZFu9e_ROJv+sxcu5+0lzKQ)b%w^i3JLKJwm8$hc^A2B1OhCVM z6@79&@lT9H`%2xl739nLy}M*1Y!36t#yK{0iWrFX2T$BaEXrQkR_qJ=Qk$8Ng3eT8 zo$QUJ?o^}JLyXdlx)u9U=u_FV%05{O@?xw%Ft)Bj{K?vf!^J!COf~vIueLV#%zs{v z?gy(xF9dzYCB(ASlVY6Ro#>JI$W_17Yry%Yj?pd=4|C9`(Oy!|DR;i|OgbR{Ch%MU z-k3jPuUifE9A}pON$f#o&rvb%VeYtuHV8TGD&jB~7OP6Zy}&iB!Sp2mQt)4ov(B0V zFZMyO{=mFG`y@m6?UIi@&Nuamej@z9Ud=yah%#XMI^cNLc!-197sa|7`1CdKv(i1Q}*n#9!6VV zi1n~$nD_dR>&#Ik4BCYI#h`ohQYf%Awt(uuHantDu2{LSW~eecg?<56Y|a$ zt*S?Z@K&b z48D1O+3(49bCkjV5JOVmX#zJ=PQG=H8u@wDp_nf=_#X#f#PetHLVU(}inhJ$^&#qIMxEIBJ@1|U`m2(S^%E()d$v^Gr_L<0W!q%|g)xbfzUl022wC^2p6ZNGQ7?S*# zqvpg~BYPaFU$pa;z#^>u6#*0Goj)ywF%eRP+$!r(Zr&r$>Rvp?=Iot5y={}s`rXUu z^B{pNZ7{6&D@0-e8TMIRi`VIK0mR>b-ojffM=QJbQD_l%p^hd_Hz z8JFRV)ay7FF%zBC(pAc>?vVyHv5=~-5SvITpE5-KTnX3{BRk35C{7!*sH`C)OZ%85xf%z z*T8RS9YOA#wQBZ%l7HqooOUJ}eWtLRp{NOjpY4WsJl6n!WJMj2wZL-pN7i8<+w3;E zSm%&S=o#ee#ai^O<6_ScV_@d&8co>$9Q1Ia50rg~d=7$raGCzgB?CQi#G4!!T98wK zA7xLluG4{68{}LHeYW7rg`Tswt`<7L-q?K9?P%kjb_V^4JgeaAM!AD`JU_wbGU!)z z{~!89OHd;#(XR(|52LOv>Kece@?z#o*qR6}Ffp6Agb5KXfLG2`a*J>yKF4?D}Mw%CVyb}gxe97}yg0rf7 z5unTL5iUZ{D(i+-(02zgfeAi}7{3C3)v)i~^6n{j7w@bo76-50g62Aw%(WtA|A@|l(9`hPw zU&K%acs3~&wY9``^Kk|vZs@b+UXVr}Fl7N^sY1q6VUSVi8Og_$2f5{*L%kfAxhFf* zjm{857NRzmcMiS1h?&^;n6z`9)|V`-p#ieKnZaBq>+LCfHlmhQ)$J{$&+}Uj{OfSx zcU`jvCgWLk)~$Q6Gu_FZ`i>syLin28Ge@WU+8O5Z)~40+eKkz`rH%0p5HTG=Xr_8 z*=0X%Z=)HtALih@;>d3G-BV{YZb$6llDpHcqpk}ZnFrg*{`V`$qjR6D5RYb_I-+ap zz45}o={f-LN-}t7pLsrN*H^DNpQr2gUYup-IL+uG>eWW}qBEYn(@wIVJS$+U_VeV2 zYvA)E>Bj<4KQn6{yX6I6vR^o9`zl?xO-2tmpRMcKKiu_R=ICf+EwB||D);VmhJ6I= zgLm;xf688hOss+Y7=8N8i=`hwh!`|gu69$8V2^DY`~dk*UOQLU`C~Ww=^STQp1Xe5 zYe4^*DGa?-?5ErqHy&K(fPg*@kKT8mczW*A;CO0#<2G#{jK%abzf0N*GrYi`}fwc<@dnEocO_#_O zls9@q(3_&4;Q;TkOForM^m3&HKnCzDw8u9)SYNOK=NFtjBt^_`xUTNbYFD{?VzG3r zgSMZ27ZzaN4A>#oH0{9Z8F(%vY25;$j)W|kA!inTCg&GSlGtU_Bw_h9iGvPRA|~N; zQsFCRqo?l6>!+UUqdw7}v-gg@YdPo_(a-*NizA&n@&(w} zpaoOq1Y{n!a<-(do2SoeBKnbHmQ9!7`I97Q<~TVyW3U7@iNeLxKMCKhuGT#~nZ&=i_`Fc`re%_KCJ4_J`%41k zodjGH26>-dG*wQ|pCU2KXGkJ!z4Mx`_2%rHu@b&ynk1ngCl0@lSu{bym(Tu3*mvK< z9&!Eu0l??+8BFF8b8t2@kM5I{eOn}X_eM$D1sr^6r(^>+6u_3Tr;@#3e6BKi=UPcw zKVQq7a*u~hLl;k#W7EgTamf7q{D~5=aH7PbCntXCWQp@bua55oiCOrOL@gNq56j=Z zfG%(7m$)YC8T;-!E_}xK{JUZMd0v@AV9#R02KI5ya-Y=%^faBH|A`!(4PJL|mJGxN zd=5MY{bi9$aSrfYc_wfPd*S}K2XU_hxsF2k`;-Izkm(jY-?am|j9}z7i}e2?!M>3O z)Ia%u2srqB1MH#EC*P$V=${||KTCjpTKF$T)FNE`e?>S_@6<2Of4uO53woy7TUu06 zYLZF`I;2vL9#9!)PAF@3hKk$0S)H3VQNh+uReL7QKp2D-)3bi~H^!a2J?mIHa2-^@=L-H=mF8xvw1c}8@PGmyP{`FN#NDbmK1u& z9-^{N9#LhHXBDuVir(O-fJ+r}n+mbKvd4!j#0v^>kID`^r%LfRJjlvx$xbCte%u|lp+AwRE>OHei0X}D4p zdfQdT)}_i69j5S%kjjY+RdGiSsMK?y5piCjPN?wzCn!8SrcmEf==oR3fhy$TRBm*H zLNAZ1FUnP@;VJaYsP>vF)m~kxS}IC$f2guV1}pS=sEc*A(6MBNXUP<5KdP*#KsA?{ zl{q+2A;+o;&z(@U`dgwWY{GLL;hC;qmp>F_dC{U>1se;6K zg<8DAGt=sFOOry*TII*ZDAZdO`XUs1R1}_7Qs}c%==s3jol%4%dK|d_V{d&TV*76N9W!j$@ZrNp1`hWBs_gst zg$GB32E}h#dv^WNV~2OGS+%NQ=$P=YK*m4f<&e0Dhz=54f`WqLM7W!aEgd&T4Z8^{K7PR}79>I=!rco=RwobYaZ;_HJ!OH5;)~Aj4&vN(9)5e0 z2CLu*4F7PqEE3c!0eZZm*3X%=_|`qV=cMzifPf>NDR_D3CM9bc;o;$#ZgG0jn6!BO z_}wRZCgI}`5(#&xz|K3e#Dm6Bkof515Vf@jE`0JxBBZYh?AQ@(>XN0KJJxd4Ny7iQ zi^dsxnU3Ki5w}pCcJGKLvCMfsMUacg&@BJV zwb?#zI?src#C#7va+KE@mpHqU@Y&-Rp-BYA$NGEweAbD?jEs)8bRyB&DETG%MUV?_ z>Sz6jcP242u7idr7twEx?ATT1pPuX&?jqsVPS-+a%$(&xW51zWFRJLb-gwDFJ0J_c zSSJ@Q5~=;YC!b%wV#R!rnB76c-ym^PskC?A_|Fk;M*JYoh}cdFKDh6&{(IhZl9|>vgP3;G#7Iwb_VvsF|PYg(G z314}3z4s|?!8DT~D#x{r_K%2w<(r6O<~`CNvEq)vKE4w_(OiuCFtmflvOoXjPjCEv zW{7f2SDRBmP{5uZI(FE547ljix9`f8i~P^enmu?Z7c%a{(VjFw;*J0O-S1~BgKhxj z(SM8K1VCfS(!LW{1_n;{KR5BJ8rf{*@z{ZF0p z9XV#qm|_0IaZ&>VwRR5jJv|oU`~W06Xq?&V8V3zy77&1?DDMvQ>pdKYJ+ME|$nc52 zUpukMN#cDsA8yU+c%ya9yTkl~#{3z9gZm5}y4Pp-M`I`6skwOnot|kNe^D>Y=a5^$ zy?NOC`)K(mN-|7F}}&enNsnenrq3>oqy{!2=wRvIK`c=y4M zEbui{OUvS~Z~cwO?2Y$UuUU(+j${3X*>m3c=@UODi6^~D!_RFmy!*gj`1N9DELo*_S|#NKm5p}k3RPJ6D|_Ypw(-_ph36Xdh4xs-s3$K;`H_XDkSC(ARC@z z(8uG)`;PnyT+ID^g!BGIPA=}bXCO#?G;-w4FJ$iLPrIO|&pekOA&GG#$8;-;2k(AY z%VNMi3!sAw@A?hIIrsBv?xhTOo>WcZ!;xcL+UX(APjB`1Qa;{&1`g2;lumlV zO}!1jy!*N5pK!^~xX+Nn8+@+nr{R3_pIPeAme*SjR~FK#_`efu_T=MA#ZBp!Xt$-CA@z4i@q@$K8azV`j09e2Clc@6(<=N&O@C-rR5>t9oYpcePO z_SCbtgTxQ6w#^&n+)GwbPS}AwzycaroT-$`3#Sn|j}?_dol+*Kl6$`Ysjl zhT$`GK$nHk2@Fs^_dM{>3(xc;3B8c-JUjHofxq}(*Zno<4ZiciA9Z#D{RTYs^g|DU zi+;~Mt4aLuhyU?!|MuPQe((Et8#mqf>eIi^ZFddm*YAM`2HZ7p5R4&gj&mUoeCPhJ zf7?ys-#rteH&ByDGJMX&t h?mPQ-`oT?o@bZSq?c;q@zy0Tr{waZfO28$7{{p;2ukHW< diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp b/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp deleted file mode 100644 index 71022dc..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.cpp +++ /dev/null @@ -1,1316 +0,0 @@ -// -// X2Dome implemntation -// - -#include "x2dome.h" - -X2Dome::X2Dome(const char* pszSelection, - const int& nISIndex, - SerXInterface* pSerX, - TheSkyXFacadeForDriversInterface* pTheSkyXFacadeForDriversInterface, - SleeperInterface* pSleeper, - BasicIniUtilInterface* pIniUtil, - LoggerInterface* pLogger, - MutexInterface* pIOMutex, - TickCountInterface* pTickCount) -{ - - m_nPrivateISIndex = nISIndex; - m_pSerX = pSerX; - m_pTheSkyXFacadeForDriversInterface = pTheSkyXFacadeForDriversInterface; - m_pSleeper = pSleeper; - m_pIniUtil = pIniUtil; - m_pLogger = pLogger; - m_pIOMutex = pIOMutex; - m_pTickCount = pTickCount; - - m_bLinked = false; - m_nLearningDomeCPR = NONE; - m_bBattRequest = 0; - m_bShutterGotoEnabled = false; - m_DomePro.SetSerxPointer(pSerX); - m_DomePro.setLogger(pLogger); - - if (m_pIniUtil) - { - // read home Az - m_DomePro.setHomeAz( m_pIniUtil->readDouble(PARENT_KEY, CHILD_KEY_HOME_AZ, 0)); - - // shutter angle calibration - m_Shutter1OpenAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_OPEN_ANGLE, 90); - m_Shutter1OpenAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_OPEN_ANGLE_ADC, 3000); - m_Shutter1CloseAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_CLOSE_ANGLE, 0); - m_Shutter1CloseAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER1_CLOSE_ANGLE_ADC, 500); - m_ADC_Ratio1 = (m_Shutter1OpenAngle_ADC - m_Shutter1CloseAngle_ADC) / (m_Shutter1OpenAngle - m_Shutter1CloseAngle); - - m_Shutter2OpenAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_OPEN_ANGLE, 90); - m_Shutter2OpenAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_OPEN_ANGLE_ADC, 3000); - m_Shutter2CloseAngle = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_CLOSE_ANGLE, 0); - m_Shutter2CloseAngle_ADC = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER2_CLOSE_ANGLE_ADC, 500); - m_ADC_Ratio2 = (m_Shutter2OpenAngle_ADC - m_Shutter2CloseAngle_ADC) / (m_Shutter2OpenAngle - m_Shutter2CloseAngle); - - m_bShutterGotoEnabled = m_pIniUtil->readInt(PARENT_KEY, CHILD_KEY_SHUTTER_GOTO, false); - - m_DomePro.setShutterAngleCalibration(m_Shutter1OpenAngle, m_Shutter1OpenAngle_ADC, - m_Shutter1CloseAngle, m_Shutter1CloseAngle_ADC, - m_Shutter2OpenAngle, m_Shutter2OpenAngle_ADC, - m_Shutter2CloseAngle, m_Shutter2CloseAngle_ADC, - m_bShutterGotoEnabled); - } -} - - -X2Dome::~X2Dome() -{ - if (m_pSerX) - delete m_pSerX; - if (m_pTheSkyXFacadeForDriversInterface) - delete m_pTheSkyXFacadeForDriversInterface; - 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; - -} - - -int X2Dome::establishLink(void) -{ - int nErr; - char szPort[DRIVER_MAX_STRING]; - - X2MutexLocker ml(GetMutex()); - // get serial port device name - portNameOnToCharPtr(szPort,DRIVER_MAX_STRING); - nErr = m_DomePro.Connect(szPort); - if(nErr) - m_bLinked = false; - else - m_bLinked = true; - - m_bHasShutterControl = m_DomePro.hasShutterUnit(); - return nErr; -} - -int X2Dome::terminateLink(void) -{ - X2MutexLocker ml(GetMutex()); - m_DomePro.Disconnect(); - m_bLinked = false; - return SB_OK; -} - - bool X2Dome::isLinked(void) const -{ - return m_bLinked; -} - - -int X2Dome::queryAbstraction(const char* pszName, void** ppVal) -{ - *ppVal = NULL; - - if (!strcmp(pszName, LoggerInterface_Name)) - *ppVal = GetLogger(); - else if (!strcmp(pszName, ModalSettingsDialogInterface_Name)) - *ppVal = dynamic_cast(this); - else if (!strcmp(pszName, X2GUIEventInterface_Name)) - *ppVal = dynamic_cast(this); - else if (!strcmp(pszName, SerialPortParams2Interface_Name)) - *ppVal = dynamic_cast(this); - - return SB_OK; -} - -#pragma mark - UI binding - -int X2Dome::execModalSettingsDialog() -{ - int nErr = SB_OK; - X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); - X2GUIInterface* ui = uiutil.X2UI(); - X2GUIExchangeInterface* dx = NULL;//Comes after ui is loaded - bool bPressedOK = false; - char szTmpBuf[SERIAL_BUFFER_SIZE]; - int nTmp = 0; - double dTmp = 0; - bool bTmp = false; - bool bIsAtHome = false; - - if (NULL == ui) - return ERR_POINTER; - - if ((nErr = ui->loadUserInterface("domepro.ui", deviceType(), m_nPrivateISIndex))) - return nErr; - - if (NULL == (dx = uiutil.X2DX())) - return ERR_POINTER; - - - memset(szTmpBuf,0,SERIAL_BUFFER_SIZE); - - X2MutexLocker ml(GetMutex()); - - // set controls state depending on the connection state - if(m_bLinked) { - // Az Motors - dx->setEnabled(MOTOR_POLARITY, true); - nErr = m_DomePro.getDomeAzMotorPolarity(nTmp); - dx->setChecked(MOTOR_POLARITY,nTmp==POSITIVE?true:false); - - dx->setEnabled(OVER_CURRENT_PROTECTION, true); - m_DomePro.getDomeAzimuthOCP_Limit(dTmp); - dx->setPropertyDouble(OVER_CURRENT_PROTECTION, "value", dTmp); - - // Az Encoders - dx->setEnabled(TICK_PER_REV, true); - nErr = m_DomePro.getDomeAzCPR(nTmp); - dx->setPropertyInt(TICK_PER_REV, "value", nTmp); - - dx->setEnabled(ROTATION_COAST, true); - nErr = m_DomePro.getDomeAzCoast(dTmp); - dx->setPropertyDouble(ROTATION_COAST, "value", dTmp); - - dx->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, true); - dx->setEnabled(LEARN_AZIMUTH_CPR_LEFT, true); - dx->setPropertyString(L_CPR_VALUE, "text", ": not learned"); - dx->setPropertyString(R_CPR_VALUE, "text", ": not learned"); - - dx->setEnabled(ENCODDER_POLARITY, true); - nErr = m_DomePro.getDomeAzEncoderPolarity(nTmp); - dx->setPropertyDouble(ENCODDER_POLARITY, "value", dTmp); - - dx->setEnabled(SET_AZIMUTH_CPR, true); - - m_DomePro.isDomeAtHome(bIsAtHome); - dx->setPropertyString(IS_AT_HOME, "text", bIsAtHome?"Yes":"No"); - - // Homing - dx->setEnabled(HOMING_DIR, true); // no corresponding function, need to ping Chris - nErr = m_DomePro.getDomeHomeDirection(nTmp); - dx->setCurrentIndex(HOMING_DIR, nTmp-1); - - dx->setEnabled(HOME_POS, true); - nErr = m_DomePro.getDomeHomeAz(dTmp); - dx->setPropertyDouble(HOME_POS, "value", dTmp); - - dx->setEnabled(PARK_POS, true); - nErr = m_DomePro.getDomeParkAz(dTmp); - dx->setPropertyDouble(PARK_POS, "value", dTmp); - - dx->setEnabled(SHUTTER_BUTTON, true); - dx->setEnabled(TIMEOUTS_BUTTON, true); - dx->setEnabled(DIAG_BUTTON, true); - - } - else { // not connected, disable all controls - // Az motor - dx->setEnabled(MOTOR_POLARITY, false); - dx->setEnabled(OVER_CURRENT_PROTECTION, false); - - // Az Encoders - dx->setEnabled(TICK_PER_REV, false); - dx->setEnabled(ROTATION_COAST, false); - - dx->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, false); - dx->setEnabled(LEARN_AZIMUTH_CPR_LEFT, false); - dx->setPropertyString(L_CPR_VALUE, "text", ": --"); - dx->setPropertyString(R_CPR_VALUE, "text", ": --"); - - dx->setEnabled(ENCODDER_POLARITY, false); - dx->setEnabled(SET_AZIMUTH_CPR, false); - - dx->setPropertyString(IS_AT_HOME, "text","--"); - - // Homing - dx->setEnabled(HOMING_DIR, false); - dx->setEnabled(HOME_POS, false); - dx->setEnabled(PARK_POS, false); - - dx->setEnabled(SHUTTER_BUTTON, false); - dx->setEnabled(TIMEOUTS_BUTTON, false); - dx->setEnabled(DIAG_BUTTON, false); - - } - - m_nLearningDomeCPR = NONE; - - - //Display the user interface - m_nCurrentDialog = MAIN; - if ((nErr = ui->exec(bPressedOK))) - return nErr; - - //Retreive values from the user interface - if (bPressedOK) - { - if(m_bLinked) - { - // read all controls and set new values - // Az Motor - bTmp = dx->isChecked(MOTOR_POLARITY); - m_DomePro.setDomeAzMotorPolarity(bTmp?POSITIVE:NEGATIVE); - - dx->propertyDouble(OVER_CURRENT_PROTECTION, "value", dTmp); - m_DomePro.setDomeAzimuthOCP_Limit(dTmp); - - // Az Encoders - dx->propertyInt(TICK_PER_REV, "value", nTmp); - m_DomePro.setDomeAzCPR(nTmp); - - dx->propertyDouble(ROTATION_COAST, "value", dTmp); - m_DomePro.setDomeAzCoast(dTmp); - - bTmp = dx->isChecked(ENCODDER_POLARITY); - m_DomePro.setDomeAzEncoderPolarity(bTmp?POSITIVE:NEGATIVE); - - // Homing - nTmp = dx->currentIndex(HOMING_DIR); - m_DomePro.setDomeHomeDirection(nTmp+1); - - dx->propertyDouble(HOME_POS, "value", dTmp); - m_DomePro.setHomeAz(dTmp); - nErr = m_pIniUtil->writeDouble(PARENT_KEY, CHILD_KEY_HOME_AZ, dTmp); - - dx->propertyDouble(PARK_POS, "value", dTmp); - m_DomePro.setParkAz(dTmp); - } - } - return nErr; - -} - -void X2Dome::uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent) -{ - - switch(m_nCurrentDialog) { - case MAIN: - doMainDialogEvents(uiex, pszEvent); - break; - case SHUTTER: - doShutterDialogEvents(uiex, pszEvent); - break; - case TIMEOUTS: - doTimeoutsDialogEvents(uiex, pszEvent); - break; - case DIAG: - doDiagDialogEvents(uiex, pszEvent); - break; - } - - -} -// -// Main setting ui -// - -int X2Dome::doMainDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) -{ - bool bComplete = false; - int nErr = SB_OK; - char szErrorMessage[LOG_BUFFER_SIZE]; - char szTmpBuf[SERIAL_BUFFER_SIZE]; - - int nTmp, nTmp2; - bool bPressedOK = false; - bool bIsAtHome; - - if (!strcmp(pszEvent, "on_pushButtonCancel_clicked") && m_nLearningDomeCPR != NONE) { - m_DomePro.abortCurrentCommand(); - m_nLearningDomeCPR = NONE; - } - - if (!strcmp(pszEvent, "on_timer")) - { - if(m_bLinked) { - switch(m_nLearningDomeCPR) { - case RIGHT: - case LEFT: - // are we still learning CPR ? - bComplete = false; - nErr = m_DomePro.isLearningCPRComplete(bComplete); - if(nErr) { - uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, true); - uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, true); - uiex->setEnabled(BUTTON_OK, true); - snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error learning dome CPR : Error %d", nErr); - uiex->messageBox("DomePro Learn CPR", szErrorMessage); - m_nLearningDomeCPR = NONE; - return nErr; - } - - if(!bComplete) { - return nErr; - } - - // enable "ok" and "Learn Azimuth CPR" - uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, true); - uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, true); - uiex->setEnabled(BUTTON_OK, true); - // read gauged step per rev from dome - switch (m_nLearningDomeCPR) { - case LEFT: - nTmp = m_DomePro.getLeftCPR(); - snprintf(szTmpBuf, SERIAL_BUFFER_SIZE, "%d", nTmp); - uiex->setPropertyString(L_CPR_VALUE, "text", szTmpBuf); - break; - - case RIGHT: - nTmp = m_DomePro.getRightCPR(); - snprintf(szTmpBuf, SERIAL_BUFFER_SIZE, "%d", nTmp); - uiex->setPropertyString(R_CPR_VALUE, "text", szTmpBuf); - break; - default: - break; - } - m_nLearningDomeCPR = NONE; - break; - - case CLEARING_LEFT : - m_DomePro.isDomeAtHome(bIsAtHome); - if(!bIsAtHome) { - m_DomePro.abortCurrentCommand(); - m_DomePro.learnAzimuthCprLeft(); - m_nLearningDomeCPR = LEFT; - } - break; - - case CLEARING_RIGHT : - m_DomePro.isDomeAtHome(bIsAtHome); - if(!bIsAtHome) { - m_DomePro.abortCurrentCommand(); - m_DomePro.learnAzimuthCprRight(); - m_nLearningDomeCPR = RIGHT; - } - break; - - default: - break; - } - } - } - - if (!strcmp(pszEvent, LEARN_AZIMUTH_CPR_RIGHT_CLICKED) ) - { - if(m_bLinked) { - // disable "ok" and "Learn Azimuth CPR" - uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, false); - uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, false); - uiex->setEnabled(BUTTON_OK, false); - m_DomePro.isDomeAtHome(bIsAtHome); - if(bIsAtHome) { - m_DomePro.learnAzimuthCprRight(); - m_nLearningDomeCPR = RIGHT; - } - else { - m_DomePro.setDomeLeftOn(); - m_nLearningDomeCPR = CLEARING_RIGHT; - } - } - } - - if (!strcmp(pszEvent, LEARN_AZIMUTH_CPR_LEFT_CLICKED) ) - { - if(m_bLinked) { - // disable "ok" and "Learn Azimuth CPR" - uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, false); - uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, false); - uiex->setEnabled(BUTTON_OK, false); - m_DomePro.isDomeAtHome(bIsAtHome); - if(bIsAtHome) { - m_DomePro.learnAzimuthCprLeft(); - m_nLearningDomeCPR = LEFT; - } - else { - m_DomePro.setDomeRightOn(); - m_nLearningDomeCPR = CLEARING_LEFT; - } - } - } - - if (!strcmp(pszEvent, SET_CPR_FROM_GAUGED) ) - { - if(m_bLinked) { - nTmp = m_DomePro.getRightCPR(); - if(!nTmp) { - snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error setting dome CPR , right value can't be 0"); - uiex->messageBox("DomePro Set CPR", szErrorMessage); - return nErr; - } - - nTmp2 = m_DomePro.getLeftCPR(); - if(!nTmp) { - snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error setting dome CPR , left value can't be 0"); - uiex->messageBox("DomePro Set CPR", szErrorMessage); - return nErr; - } - nTmp = (int)floor( 0.5 +(nTmp + nTmp2)/2); - nErr = m_DomePro.setDomeAzCPR(nTmp); - if(nErr) { - snprintf(szErrorMessage, LOG_BUFFER_SIZE, "Error setting dome CPR : Error %d", nErr); - uiex->messageBox("DomePro Set CPR", szErrorMessage); - return nErr; - } - uiex->setPropertyInt(TICK_PER_REV, "value", nTmp); - } - } - - if (!strcmp(pszEvent, SHUTTER_CKICKED)) - { - setMainDialogControlState(uiex, false); - doDomeProShutter(bPressedOK); - setMainDialogControlState(uiex, true); - } - - if (!strcmp(pszEvent, TIMEOUTS_CKICKED)) - { - setMainDialogControlState(uiex, false); - doDomeProTimeouts(bPressedOK); - setMainDialogControlState(uiex, true); - } - - if (!strcmp(pszEvent, DIAG_CKICKED)) - { - setMainDialogControlState(uiex, false); - doDomeProDiag(bPressedOK); - setMainDialogControlState(uiex, true); - } - - return nErr; -} - -void X2Dome::setMainDialogControlState(X2GUIExchangeInterface* uiex, bool enabeled) -{ - uiex->setEnabled(LEARN_AZIMUTH_CPR_RIGHT, enabeled); - uiex->setEnabled(LEARN_AZIMUTH_CPR_LEFT, enabeled); - uiex->setEnabled(SET_AZIMUTH_CPR, enabeled); - uiex->setEnabled(SHUTTER_BUTTON, enabeled); - uiex->setEnabled(TIMEOUTS_BUTTON, enabeled); - uiex->setEnabled(DIAG_BUTTON, enabeled); - uiex->setEnabled(BUTTON_OK, enabeled); - uiex->setEnabled(BUTTON_CANCEL, enabeled); - -} - -// -// Shutter settings UI -// -int X2Dome::doDomeProShutter(bool& bPressedOK) -{ - int nErr = SB_OK; - char szTmpBuf[SERIAL_BUFFER_SIZE]; - bool bTmp; - int nTmp; - double dTmp; - - X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); - X2GUIInterface* ui = uiutil.X2UI(); - X2GUIExchangeInterface* dx = NULL; - - bPressedOK = false; - if (NULL == ui) - return ERR_POINTER; - nErr = ui->loadUserInterface("domeshutter.ui", deviceType(), m_nPrivateISIndex); - if (nErr) - return nErr; - - dx = uiutil.X2DX(); - if (NULL == dx) - return ERR_POINTER; - - m_nCurrentDialog = SHUTTER; - // sequencing - if(m_bLinked) { - m_DomePro.getModel(szTmpBuf, SERIAL_BUFFER_SIZE); - dx->setPropertyString(DOMEPRO_MODEL, "text", szTmpBuf); - // sequencing - if(m_DomePro.hasShutterUnit()) { - dx->setEnabled(SINGLE_SHUTTER, true); - m_DomePro.getDomeSingleShutterMode(bTmp); - if(bTmp) { - dx->setEnabled(OPEN_FIRST, false); - dx->setEnabled(CLOSE_FIRST, false); - dx->setEnabled(INHIBIT_SIMULT, false); - - } - else { // 2 shutters - dx->setEnabled(OPEN_FIRST, true); - m_DomePro.getDomeShutterOpenFirst(nTmp); - dx->setCurrentIndex(OPEN_FIRST, nTmp-1); - - dx->setEnabled(CLOSE_FIRST, true); - m_DomePro.getDomeShutterCloseFirst(nTmp); - dx->setCurrentIndex(CLOSE_FIRST, nTmp-1); - - dx->setEnabled(INHIBIT_SIMULT, false); // no corresponding function, need to ping Chris - - dx->setEnabled(SHUTTER_OPERATE_AT_HOME, true); - m_DomePro.getDomeShutOpOnHome(bTmp); - dx->setChecked(SHUTTER_OPERATE_AT_HOME, bTmp); - - dx->setEnabled(HOME_ON_SHUTTER_CLOSE, true); - m_DomePro.getHomeWithShutterClose(bTmp); - dx->setChecked(HOME_ON_SHUTTER_CLOSE, bTmp); - - m_DomePro.getShutter1_LimitFaultCheckEnabled(bTmp); - dx->setChecked(UPPER_SHUTTER_LIMIT_CHECK, bTmp); - m_DomePro.getShutter2_LimitFaultCheckEnabled(bTmp); - dx->setChecked(LOWER_SHUTTER_LIMIT_CHECK, bTmp); - - // shutter angle calibration - if(m_DomePro.getModelType() == CLAMSHELL) { - dx->setPropertyInt(SHUT1_OPEN_ANGLE, "value", m_Shutter1OpenAngle); - dx->setPropertyInt(SHUT1_OPEN_ANGLE_ADC, "value", m_Shutter1OpenAngle_ADC); - - dx->setPropertyInt(SHUT1_CLOSE_ANGLE, "value", m_Shutter1CloseAngle); - dx->setPropertyInt(SHUT1_CLOSE_ANGLE_ADC, "value", m_Shutter1CloseAngle_ADC); - - dx->setPropertyInt(SHUT2_OPEN_ANGLE, "value", m_Shutter2OpenAngle); - dx->setPropertyInt(SHUT2_OPEN_ANGLE_ADC, "value", m_Shutter2OpenAngle_ADC); - - dx->setPropertyInt(SHUT2_CLOSE_ANGLE, "value", m_Shutter2CloseAngle); - dx->setPropertyInt(SHUT2_CLOSE_ANGLE_ADC, "value", m_Shutter2CloseAngle_ADC); - } - else { - dx->setEnabled(SHUT1_OPEN_ANGLE, false); - dx->setEnabled(SHUT1_OPEN_ANGLE_ADC, false); - dx->setEnabled(SHUT1_CLOSE_ANGLE, false); - dx->setEnabled(SHUT1_CLOSE_ANGLE_ADC, false); - dx->setEnabled(SHUT2_OPEN_ANGLE, false); - dx->setEnabled(SHUT2_OPEN_ANGLE_ADC, false); - dx->setEnabled(SHUT2_CLOSE_ANGLE, false); - dx->setEnabled(SHUT2_CLOSE_ANGLE_ADC, false); - } - - m_DomePro.getDomeShutter1_OCP_Limit(dTmp); - dx->setPropertyDouble(SHUTTER1_OCP, "value", dTmp); - m_DomePro.getDomeShutter2_OCP_Limit(dTmp); - dx->setPropertyDouble(SHUTTER2_OCP, "value", dTmp); - } - } - else { // no shutter unit - dx->setChecked(SINGLE_SHUTTER,false); - dx->setEnabled(OPEN_FIRST, false); - dx->setEnabled(CLOSE_FIRST, false); - dx->setEnabled(INHIBIT_SIMULT, false); - dx->setEnabled(SHUTTER_OPERATE_AT_HOME, false); - dx->setEnabled(HOME_ON_SHUTTER_CLOSE, false); - dx->setEnabled(UPPER_SHUTTER_LIMIT_CHECK, false); - dx->setEnabled(LOWER_SHUTTER_LIMIT_CHECK, false); - dx->setEnabled(SHUT1_OPEN_ANGLE, false); - dx->setEnabled(SHUT1_OPEN_ANGLE_ADC, false); - dx->setEnabled(SHUT1_CLOSE_ANGLE, false); - dx->setEnabled(SHUT1_CLOSE_ANGLE_ADC, false); - dx->setEnabled(SHUT2_OPEN_ANGLE, false); - dx->setEnabled(SHUT2_OPEN_ANGLE_ADC, false); - dx->setEnabled(SHUT2_CLOSE_ANGLE, false); - dx->setEnabled(SHUT2_CLOSE_ANGLE_ADC, false); - dx->setEnabled(SHUTTER1_OCP, false); - dx->setEnabled(SHUTTER2_OCP, false); - } - - } else { - dx->setChecked(SINGLE_SHUTTER,false); - dx->setEnabled(OPEN_FIRST, false); - dx->setEnabled(CLOSE_FIRST, false); - dx->setEnabled(INHIBIT_SIMULT, false); - dx->setEnabled(SHUTTER_OPERATE_AT_HOME, false); - dx->setEnabled(HOME_ON_SHUTTER_CLOSE, false); - dx->setEnabled(UPPER_SHUTTER_LIMIT_CHECK, false); - dx->setEnabled(LOWER_SHUTTER_LIMIT_CHECK, false); - dx->setEnabled(SHUT1_OPEN_ANGLE, false); - dx->setEnabled(SHUT1_OPEN_ANGLE_ADC, false); - dx->setEnabled(SHUT1_CLOSE_ANGLE, false); - dx->setEnabled(SHUT1_CLOSE_ANGLE_ADC, false); - dx->setEnabled(SHUT2_OPEN_ANGLE, false); - dx->setEnabled(SHUT2_OPEN_ANGLE_ADC, false); - dx->setEnabled(SHUT2_CLOSE_ANGLE, false); - dx->setEnabled(SHUT2_CLOSE_ANGLE_ADC, false); - dx->setEnabled(SHUTTER1_OCP, false); - dx->setEnabled(SHUTTER2_OCP, false); - } - - nErr = ui->exec(bPressedOK); - if (nErr ) - return nErr; - - //Retreive values from the user interface - if (bPressedOK) - { - if(m_bLinked) - { - // read all controls and set new values - bTmp = dx->isChecked(SINGLE_SHUTTER); - m_DomePro.setDomeSingleShutterMode(bTmp); - - if(!bTmp) { - nTmp = dx->currentIndex(OPEN_FIRST); - m_DomePro.setDomeShutterOpenFirst(nTmp+1); - - nTmp = dx->currentIndex(CLOSE_FIRST); - m_DomePro.setDomeShutterCloseFirst(nTmp+1); - } - - // no command for Inhibit simultaneous shutter motion - - bTmp = dx->isChecked(SHUTTER_OPERATE_AT_HOME); - m_DomePro.setDomeShutOpOnHome(bTmp); - - bTmp = dx->isChecked(HOME_ON_SHUTTER_CLOSE); - m_DomePro.setHomeWithShutterClose(bTmp); - - bTmp = dx->isChecked(UPPER_SHUTTER_LIMIT_CHECK); - m_DomePro.setShutter1_LimitFaultCheckEnabled(bTmp); - - bTmp = dx->isChecked(LOWER_SHUTTER_LIMIT_CHECK); - m_DomePro.setShutter2_LimitFaultCheckEnabled(bTmp); - - dx->propertyInt(SHUT1_OPEN_ANGLE, "value", m_Shutter1OpenAngle); - dx->propertyInt(SHUT1_OPEN_ANGLE_ADC, "value", m_Shutter1OpenAngle_ADC); - dx->propertyInt(SHUT1_CLOSE_ANGLE, "value", m_Shutter1CloseAngle); - dx->propertyInt(SHUT1_CLOSE_ANGLE_ADC, "value", m_Shutter1CloseAngle_ADC); - m_ADC_Ratio1 = (m_Shutter1OpenAngle_ADC - m_Shutter1CloseAngle_ADC) / (m_Shutter1OpenAngle - m_Shutter1CloseAngle); - - dx->propertyInt(SHUT2_OPEN_ANGLE, "value", m_Shutter2OpenAngle); - dx->propertyInt(SHUT2_OPEN_ANGLE_ADC, "value", m_Shutter2OpenAngle_ADC); - dx->propertyInt(SHUT2_CLOSE_ANGLE, "value", m_Shutter2CloseAngle); - dx->propertyInt(SHUT2_CLOSE_ANGLE_ADC, "value", m_Shutter2CloseAngle_ADC); - m_ADC_Ratio2 = (m_Shutter2OpenAngle_ADC - m_Shutter2CloseAngle_ADC) / (m_Shutter2OpenAngle - m_Shutter2CloseAngle); - - m_bShutterGotoEnabled = dx->isChecked(SHUT_ANGLE_GOTO); - - nErr = SB_OK; - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_OPEN_ANGLE, m_Shutter1OpenAngle); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_OPEN_ANGLE_ADC, m_Shutter1OpenAngle_ADC); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_CLOSE_ANGLE, m_Shutter1CloseAngle); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT1_CLOSE_ANGLE_ADC, m_Shutter1CloseAngle_ADC); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_OPEN_ANGLE, m_Shutter2OpenAngle); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_OPEN_ANGLE_ADC, m_Shutter2OpenAngle_ADC); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_CLOSE_ANGLE, m_Shutter2CloseAngle); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, SHUT2_CLOSE_ANGLE_ADC, m_Shutter2CloseAngle_ADC); - nErr |= m_pIniUtil->writeInt(PARENT_KEY, CHILD_KEY_SHUTTER_GOTO, m_bShutterGotoEnabled); - - - dx->propertyDouble(SHUTTER1_OCP, "value", dTmp); - m_DomePro.setDomeShutter1_OCP_Limit(dTmp); - - dx->propertyDouble(SHUTTER2_OCP, "value", dTmp); - m_DomePro.setDomeShutter2_OCP_Limit(dTmp); - } - } - - m_nCurrentDialog = MAIN; - return nErr; - -} - -// -// Shutter settings ui events -// -int X2Dome::doShutterDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) -{ - int nErr = SB_OK; - - if (!strcmp(pszEvent, CLEAR_LIMIT_FAULT_CLICKED)) - m_DomePro.clearDomeLimitFault(); - return nErr; -} - -// -// Dome timeout and automatic closure UI -// -int X2Dome::doDomeProTimeouts(bool& bPressedOK) -{ - int nErr = SB_OK; - int nTmp; - bool bTmp; - - X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); - X2GUIInterface* ui = uiutil.X2UI(); - X2GUIExchangeInterface* dx = NULL; - - bPressedOK = false; - if (NULL == ui) - return ERR_POINTER; - nErr = ui->loadUserInterface("dometimeouts.ui", deviceType(), m_nPrivateISIndex); - if (nErr) - return nErr; - - dx = uiutil.X2DX(); - if (NULL == dx) - return ERR_POINTER; - - m_nCurrentDialog = TIMEOUTS; - if(m_bLinked) { - // Az timout - dx->setEnabled(AZ_TIMEOUT_EN, true); - m_DomePro.getDomeAzimuthTimeOutEnabled(bTmp); - dx->setChecked(AZ_TIMEOUT_EN, bTmp); - - dx->setEnabled(AZ_TIMEOUT_VAL, true); - m_DomePro.getDomeAzimuthTimeOut(nTmp); - dx->setPropertyInt(AZ_TIMEOUT_VAL, "value", nTmp); - - dx->setEnabled(FIST_SHUTTER_TIMEOUT_VAL, true); - m_DomePro.getDomeShutter1_OpTimeOut(nTmp); - dx->setPropertyInt(FIST_SHUTTER_TIMEOUT_VAL, "value", nTmp); - - dx->setEnabled(SECOND_SHUTTER_TIMEOUT_VAL, true); - m_DomePro.getDomeShutter2_OpTimeOut(nTmp); - dx->setPropertyInt(SECOND_SHUTTER_TIMEOUT_VAL, "value", nTmp); - - dx->setEnabled(OPPOSITE_DIR_TIMEOUT, true); - m_DomePro.getDomeShutODirTimeOut(nTmp); - dx->setPropertyInt(OPPOSITE_DIR_TIMEOUT, "value", nTmp); - - dx->setEnabled(CLOSE_NO_COMM, true); - m_DomePro.getDomeShutCloseOnClientTimeOut(bTmp); - dx->setChecked(CLOSE_NO_COMM, bTmp); - - dx->setEnabled(CLOSE_NO_COMM_VAL, true); - m_DomePro.getDomeShutCloseClientTimeOut(nTmp); - dx->setPropertyInt(CLOSE_NO_COMM_VAL, "value", nTmp); - - dx->setEnabled(CLOSE_ON_RADIO_TIMEOUT, true); - m_DomePro.getDomeShutCloseOnLinkTimeOut(bTmp); - dx->setChecked(CLOSE_ON_RADIO_TIMEOUT, bTmp); - - dx->setEnabled(CLOSE_ON_POWER_FAIL, true); - m_DomePro.getShutterAutoCloseEnabled(bTmp); - dx->setChecked(CLOSE_ON_POWER_FAIL, bTmp); - - } else { - dx->setEnabled(AZ_TIMEOUT_EN, false); - dx->setEnabled(AZ_TIMEOUT_VAL, false); - dx->setEnabled(FIST_SHUTTER_TIMEOUT_VAL, false); - dx->setEnabled(SECOND_SHUTTER_TIMEOUT_VAL, false); - dx->setEnabled(OPPOSITE_DIR_TIMEOUT, false); - dx->setEnabled(CLOSE_NO_COMM, false); - dx->setEnabled(CLOSE_NO_COMM_VAL, false); - dx->setEnabled(CLOSE_ON_RADIO_TIMEOUT, false); - dx->setEnabled(CLOSE_ON_POWER_FAIL, false); - } - - nErr = ui->exec(bPressedOK); - if (nErr ) - return nErr; - - //Retreive values from the user interface - if (bPressedOK) - { - if(m_bLinked) - { - bTmp = dx->isChecked(AZ_TIMEOUT_EN); - m_DomePro.setDomeAzimuthTimeOutEnabled(bTmp); - dx->propertyInt(AZ_TIMEOUT_VAL, "value", nTmp); - m_DomePro.setDomeAzimuthTimeOut(nTmp); - - dx->propertyInt(FIST_SHUTTER_TIMEOUT_VAL, "value", nTmp); - m_DomePro.setDomeShutter1_OpTimeOut(nTmp); - - dx->propertyInt(SECOND_SHUTTER_TIMEOUT_VAL, "value", nTmp); - m_DomePro.setDomeShutter2_OpTimeOut(nTmp); - - dx->propertyInt(OPPOSITE_DIR_TIMEOUT, "value", nTmp); - m_DomePro.setDomeShutODirTimeOut(nTmp); - - bTmp = dx->isChecked(CLOSE_NO_COMM); - m_DomePro.setDomeShutCloseOnClientTimeOut(bTmp); - - dx->propertyInt(CLOSE_NO_COMM_VAL, "value", nTmp); - m_DomePro.setDomeShutCloseClientTimeOut(nTmp); - - bTmp = dx->isChecked(CLOSE_ON_RADIO_TIMEOUT); - m_DomePro.setDomeShutCloseOnLinkTimeOut(bTmp); - - bTmp = dx->isChecked(CLOSE_ON_POWER_FAIL); - m_DomePro.setShutterAutoCloseEnabled(bTmp); - - } - } - - m_nCurrentDialog = MAIN; - return nErr; - -} -// -// Timeouts ui events -// -int X2Dome::doTimeoutsDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) -{ - int nErr = SB_OK; - return nErr; -} - -int X2Dome::doDomeProDiag(bool& bPressedOK) -{ - int nErr = SB_OK; - X2ModalUIUtil uiutil(this, GetTheSkyXFacadeForDrivers()); - X2GUIInterface* ui = uiutil.X2UI(); - X2GUIExchangeInterface* dx = NULL; - double dTmp; - int nTmp; - int nCPR; - char szBuffer[SERIAL_BUFFER_SIZE]; - - bPressedOK = false; - if (NULL == ui) - return ERR_POINTER; - nErr = ui->loadUserInterface("domeprodiag.ui", deviceType(), m_nPrivateISIndex); - if (nErr) - return nErr; - - dx = uiutil.X2DX(); - if (NULL == dx) - return ERR_POINTER; - - m_nCurrentDialog = DIAG; - - if(m_bLinked) { - m_DomePro.getDomeSupplyVoltageAzimuthL(dTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f V", dTmp); - dx->setText(AZ_SUPPLY_VOLTAGE, szBuffer); - - m_DomePro.getDomeAzimuthMotorADC(dTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f A", dTmp); - dx->setText(AZ_MOTOR_CURRENT, szBuffer); - - m_DomePro.getDomeAzimuthTempADC(dTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f ºC", dTmp); - dx->setText(AZ_TEMP, szBuffer); - - m_DomePro.getDomeAzDiagPosition(nTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); - dx->setText(AZ_DIAG_COUNT, szBuffer); - - m_DomePro.getDomeAzCPR(nCPR); - dTmp = (nTmp * 360.0 / nCPR); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2fº", dTmp); - dx->setText(AZ_DIAG_DEG, szBuffer); - - m_DomePro.getDomeSupplyVoltageShutterL(dTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f V", dTmp); - dx->setText(SHUT_SUPPLY_VOLTAGE, szBuffer); - - m_DomePro.getDomeShutterMotorADC(dTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f A", dTmp); - dx->setText(SHUT_SUPPLY_CURRENT, szBuffer); - - m_DomePro.getDomeShutterTempADC(dTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2f ºC", dTmp); - dx->setText(SHUT_TEMPERATURE, szBuffer); - - m_DomePro.getDomeLinkErrCnt(nTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); - dx->setText(NB_REF_LINK_ERROR, szBuffer); - } - else { - - } - - nErr = ui->exec(bPressedOK); - if (nErr ) - return nErr; - - m_nCurrentDialog = MAIN; - return nErr; -} - -// -// diag ui events -// -int X2Dome::doDiagDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent) -{ - int nErr = SB_OK; - char szBuffer[SERIAL_BUFFER_SIZE]; - double dTmp; - int nTmp; - int nCPR; - - - if (!strcmp(pszEvent, CLEAR_DIAG_COUNT_CLICKED) || !strcmp(pszEvent, CLEAR_DIAG_DEG_CLICKED)) { - nErr = m_DomePro.clearDomeAzDiagPosition(); - nErr |= m_DomePro.getDomeAzDiagPosition(nTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); - uiex->setText(AZ_DIAG_COUNT, szBuffer); - - nErr |= m_DomePro.getDomeAzCPR(nCPR); - dTmp = (nTmp * 360.0 / nCPR); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%3.2fº", dTmp); - uiex->setText(AZ_DIAG_DEG, szBuffer); - - } - - if (!strcmp(pszEvent, CLEAR_RFLINK_ERRORS_CLICKED)) { - nErr = m_DomePro.clearDomeLinkErrCnt(); - nErr |= m_DomePro.getDomeLinkErrCnt(nTmp); - snprintf(szBuffer, LOG_BUFFER_SIZE, "%d", nTmp); - uiex->setText(NB_REF_LINK_ERROR, szBuffer); - } - - return nErr; -} - - - - -// -//HardwareInfoInterface -// -#pragma mark - HardwareInfoInterface - -void X2Dome::deviceInfoNameShort(BasicStringInterface& str) const -{ - str = "DomePro"; -} - -void X2Dome::deviceInfoNameLong(BasicStringInterface& str) const -{ - str = "Astrometric Instruments DomePro"; -} - -void X2Dome::deviceInfoDetailedDescription(BasicStringInterface& str) const -{ - str = "Astrometric Instruments DomePro"; -} - - void X2Dome::deviceInfoFirmwareVersion(BasicStringInterface& str) -{ - X2MutexLocker ml(GetMutex()); - if(m_bLinked) { - char cFirmware[SERIAL_BUFFER_SIZE]; - m_DomePro.getFirmwareVersion(cFirmware, SERIAL_BUFFER_SIZE); - str = cFirmware; - - } - else - str = "N/A"; -} - -void X2Dome::deviceInfoModel(BasicStringInterface& str) -{ - X2MutexLocker ml(GetMutex()); - if(m_bLinked) { - char cModel[SERIAL_BUFFER_SIZE]; - m_DomePro.getModel(cModel, SERIAL_BUFFER_SIZE); - str = cModel; - } - else - str = "N/A"; -} - -// -//DriverInfoInterface -// -#pragma mark - DriverInfoInterface - - void X2Dome::driverInfoDetailedInfo(BasicStringInterface& str) const -{ - str = "Astrometric Instruments DomePro X2 plugin by Rodolphe Pineau"; -} - -double X2Dome::driverInfoVersion(void) const -{ - return DRIVER_VERSION; -} - -// -//DomeDriverInterface -// -#pragma mark - DomeDriverInterface - -int X2Dome::dapiGetAzEl(double* pdAz, double* pdEl) -{ - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - *pdAz = m_DomePro.getCurrentAz(); - *pdEl = m_DomePro.getCurrentEl(); - return SB_OK; -} - -int X2Dome::dapiGotoAzEl(double dAz, double dEl) -{ - int nErr = SB_OK; - - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.gotoAzimuth(dAz); - if(nErr) - return ERR_CMDFAILED; - - if(m_bShutterGotoEnabled) - nErr = m_DomePro.gotoElevation(dEl); - - return nErr; -} - -int X2Dome::dapiAbort(void) -{ - - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - m_DomePro.abortCurrentCommand(); - - return SB_OK; -} - -int X2Dome::dapiOpen(void) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - if(!m_bHasShutterControl) - return SB_OK; - - nErr = m_DomePro.openDomeShutters(); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiClose(void) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - if(!m_bHasShutterControl) - return SB_OK; - - nErr = m_DomePro.CloseDomeShutters(); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiPark(void) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.gotoDomePark(); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiUnpark(void) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.unparkDome(); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiFindHome(void) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.goHome(); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiIsGotoComplete(bool* pbComplete) -{ - int nErr; - bool bAzGotoDone, bElGotoDone = false; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.isGoToComplete(bAzGotoDone); - if(nErr) - return ERR_CMDFAILED; - - *pbComplete = bAzGotoDone; - - if(m_bShutterGotoEnabled) { - nErr = m_DomePro.isGoToElComplete(bElGotoDone); - if(nErr) - return ERR_CMDFAILED; - *pbComplete = bAzGotoDone & bElGotoDone; - } - - return SB_OK; -} - -int X2Dome::dapiIsOpenComplete(bool* pbComplete) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - if(!m_bHasShutterControl) - { - *pbComplete = true; - return SB_OK; - } - - nErr = m_DomePro.isOpenComplete(*pbComplete); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiIsCloseComplete(bool* pbComplete) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - if(!m_bHasShutterControl) - { - *pbComplete = true; - return SB_OK; - } - - nErr = m_DomePro.isCloseComplete(*pbComplete); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiIsParkComplete(bool* pbComplete) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.isParkComplete(*pbComplete); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiIsUnparkComplete(bool* pbComplete) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.isUnparkComplete(*pbComplete); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiIsFindHomeComplete(bool* pbComplete) -{ - int nErr; - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.isFindHomeComplete(*pbComplete); - if(nErr) - return ERR_CMDFAILED; - - return SB_OK; -} - -int X2Dome::dapiSync(double dAz, double dEl) -{ - int nErr; - - X2MutexLocker ml(GetMutex()); - - if(!m_bLinked) - return ERR_NOLINK; - - nErr = m_DomePro.syncDome(dAz, dEl); - if(nErr) - return ERR_CMDFAILED; - return SB_OK; -} - -// -// SerialPortParams2Interface -// -#pragma mark - SerialPortParams2Interface - -void X2Dome::portName(BasicStringInterface& str) const -{ - char szPortName[DRIVER_MAX_STRING]; - - portNameOnToCharPtr(szPortName, DRIVER_MAX_STRING); - - str = szPortName; - -} - -void X2Dome::setPortName(const char* pszPort) -{ - if (m_pIniUtil) - m_pIniUtil->writeString(PARENT_KEY, CHILD_KEY_PORTNAME, pszPort); - -} - - -void X2Dome::portNameOnToCharPtr(char* pszPort, const int& nMaxSize) const -{ - if (NULL == pszPort) - return; - - snprintf(pszPort, nMaxSize,DEF_PORT_NAME); - - if (m_pIniUtil) - m_pIniUtil->readString(PARENT_KEY, CHILD_KEY_PORTNAME, pszPort, pszPort, nMaxSize); - -} - - - diff --git a/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h b/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h deleted file mode 100644 index a7e5be9..0000000 --- a/domehunter/protos/example_domepro_driver/X2-DomePro-master/x2dome.h +++ /dev/null @@ -1,204 +0,0 @@ -// -// X2Dome Declaration -// - -#include -#include - -#include "licensedinterfaces/sberrorx.h" -#include "licensedinterfaces/basicstringinterface.h" -#include "licensedinterfaces/serxinterface.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" -#include "licensedinterfaces/tickcountinterface.h" -#include "licensedinterfaces/serialportparams2interface.h" -#include "licensedinterfaces/domedriverinterface.h" -#include "licensedinterfaces/serialportparams2interface.h" -#include "licensedinterfaces/modalsettingsdialoginterface.h" -#include "licensedinterfaces/x2guiinterface.h" - -#include "domepro.h" -#include "UI_map.h" - -#define DRIVER_VERSION 1.0 - -#define PARENT_KEY "DomePro" -#define CHILD_KEY_PORTNAME "PortName" -#define CHILD_KEY_TICKS_PER_REV "NbTicksPerRev" -#define CHILD_KEY_HOME_AZ "HomeAzimuth" -#define CHILD_KEY_PARK_AZ "ParkAzimuth" -#define CHILD_KEY_SHUTTER_CONTROL "ShutterCtrl" -#define CHILD_KEY_SHUTTER_OPEN_UPPER_ONLY "ShutterOpenUpperOnly" -#define CHILD_KEY_ROOL_OFF_ROOF "RollOffRoof" -#define CHILD_KEY_SHUTTER_OPER_ANY_Az "ShutterOperAnyAz" - -#define CHILD_KEY_SHUTTER1_OPEN_ANGLE "Shutter1OpenAngle" -#define CHILD_KEY_SHUTTER1_OPEN_ANGLE_ADC "Shutter1OpenAngleADC" -#define CHILD_KEY_SHUTTER1_CLOSE_ANGLE "Shutter1CloseAngle" -#define CHILD_KEY_SHUTTER1_CLOSE_ANGLE_ADC "Shutter1CloseAngleADC" - -#define CHILD_KEY_SHUTTER2_OPEN_ANGLE "Shutter2OpenAngle" -#define CHILD_KEY_SHUTTER2_OPEN_ANGLE_ADC "Shutter2OpenAngleADC" -#define CHILD_KEY_SHUTTER2_CLOSE_ANGLE "Shutter2CloseAngle" -#define CHILD_KEY_SHUTTER2_CLOSE_ANGLE_ADC "Shutter2CloseAngleADC" - -#define CHILD_KEY_SHUTTER_GOTO "ShutterGotoEnabled" - -#if defined(SB_WIN_BUILD) -#define DEF_PORT_NAME "COM1" -#elif defined(SB_MAC_BUILD) -#define DEF_PORT_NAME "/dev/cu.KeySerial1" -#elif defined(SB_LINUX_BUILD) -#define DEF_PORT_NAME "/dev/COM0" -#endif - -#define LOG_BUFFER_SIZE 256 - -enum DIALOGS {MAIN, SHUTTER, TIMEOUTS, DIAG }; - -class X2Dome: public DomeDriverInterface, public SerialPortParams2Interface, public ModalSettingsDialogInterface, public X2GUIEventInterface -{ -public: - - /*!Standard X2 constructor*/ - X2Dome( const char* pszSelectionString, - const int& nISIndex, - SerXInterface* pSerX, - TheSkyXFacadeForDriversInterface* pTheSkyXForMounts, - SleeperInterface* pSleeper, - BasicIniUtilInterface* pIniUtil, - LoggerInterface* pLogger, - MutexInterface* pIOMutex, - TickCountInterface* pTickCount); - 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 ; - //@} - - virtual int initModalSettingsDialog(void){return 0;} - virtual int execModalSettingsDialog(void); - - /*!\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); - - //SerialPortParams2Interface - virtual void portName(BasicStringInterface& str) const ; - virtual void setPortName(const char* szPort) ; - virtual unsigned int baudRate() const {return 115200;}; - virtual void setBaudRate(unsigned int) {}; - virtual bool isBaudRateFixed() const {return true;} - - virtual SerXInterface::Parity parity() const {return SerXInterface::B_NOPARITY;} - virtual void setParity(const SerXInterface::Parity& parity){parity;}; - virtual bool isParityFixed() const {return true;} - - - - virtual void uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent); - -private: - - SerXInterface * GetSerX() {return m_pSerX; } - TheSkyXFacadeForDriversInterface * GetTheSkyXFacadeForDrivers() {return m_pTheSkyXFacadeForDriversInterface;} - 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_pTheSkyXFacadeForDriversInterface; - SleeperInterface * m_pSleeper; - BasicIniUtilInterface * m_pIniUtil; - LoggerInterface * m_pLogger; - MutexInterface * m_pIOMutex; - TickCountInterface * m_pTickCount; - - int doMainDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); - - int doDomeProShutter(bool& bPressedOK); - int doShutterDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); - - int doDomeProTimeouts(bool& bPressedOK); - int doTimeoutsDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); - - int doDomeProDiag(bool& bPressedOK); - int doDiagDialogEvents(X2GUIExchangeInterface* uiex, const char* pszEvent); - - void setMainDialogControlState(X2GUIExchangeInterface* uiex, bool enabeled); - - void portNameOnToCharPtr(char* pszPort, const int& nMaxSize) const; - - - int m_nPrivateISIndex; - bool m_bLinked; - CDomePro m_DomePro; - bool m_bHasShutterControl; - bool m_bOpenUpperShutterOnly; - int m_nLearningDomeCPR; - int m_bBattRequest; - int m_nCurrentDialog; - - int m_Shutter1OpenAngle; - int m_Shutter1OpenAngle_ADC; - int m_Shutter1CloseAngle; - int m_Shutter1CloseAngle_ADC; - double m_ADC_Ratio1; - - int m_Shutter2OpenAngle; - int m_Shutter2OpenAngle_ADC; - int m_Shutter2CloseAngle; - int m_Shutter2CloseAngle_ADC; - double m_ADC_Ratio2; - - bool m_bShutterGotoEnabled; - - -}; diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash deleted file mode 100644 index c7de993..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/.qmake.stash +++ /dev/null @@ -1,24 +0,0 @@ -QMAKE_CXX.INCDIRS = \ - /usr/include/c++/7 \ - /usr/include/x86_64-linux-gnu/c++/7 \ - /usr/include/c++/7/backward \ - /usr/lib/gcc/x86_64-linux-gnu/7/include \ - /usr/local/include \ - /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed \ - /usr/include/x86_64-linux-gnu \ - /usr/include -QMAKE_CXX.LIBDIRS = \ - /usr/lib/gcc/x86_64-linux-gnu/7 \ - /usr/lib/x86_64-linux-gnu \ - /usr/lib \ - /lib/x86_64-linux-gnu \ - /lib -QMAKE_CXX.QT_COMPILER_STDCXX = 201402L -QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 7 -QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 4 -QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0 -QMAKE_CXX.COMPILER_MACROS = \ - QT_COMPILER_STDCXX \ - QMAKE_GCC_MAJOR_VERSION \ - QMAKE_GCC_MINOR_VERSION \ - QMAKE_GCC_PATCH_VERSION diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile deleted file mode 100644 index 5ede632..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/Makefile +++ /dev/null @@ -1,407 +0,0 @@ -############################################################################# -# Makefile for building: libx2dome.so.1.0.0 -# Generated by qmake (3.1) (Qt 5.9.5) -# Project: x2dome.pro -# Template: lib -# Command: /usr/lib/qt5/bin/qmake -o Makefile x2dome.pro -############################################################################# - -MAKEFILE = Makefile - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DSB_LINUX_BUILD -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES) -CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES) -INCPATH = -I. -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -QMAKE = /usr/lib/qt5/bin/qmake -DEL_FILE = rm -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p -COPY = cp -f -COPY_FILE = cp -f -COPY_DIR = cp -f -R -INSTALL_FILE = install -m 644 -p -INSTALL_PROGRAM = install -m 755 -p -INSTALL_DIR = cp -f -R -QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall -QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -TAR = tar -cf -COMPRESS = gzip -9f -DISTNAME = x2dome1.0.0 -DISTDIR = /home/fergus/Documents/REPOS/x2/domeplugins/x2dome/.tmp/x2dome1.0.0 -LINK = g++ -LFLAGS = -Wl,-O1 -shared -Wl,-soname,libx2dome.so.1 -LIBS = $(SUBLIBS) -lQt5Gui -lQt5Core -lGL -lpthread -AR = ar cqs -RANLIB = -SED = sed -STRIP = strip - -####### Output directory - -OBJECTS_DIR = ./ - -####### Files - -SOURCES = main.cpp \ - x2dome.cpp -OBJECTS = main.o \ - x2dome.o -DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ - x2dome.pro main.h \ - x2dome.h \ - ../../licensedinterfaces/basicstringinterface.h \ - ../../licensedinterfaces/sberrorx.h main.cpp \ - x2dome.cpp -QMAKE_TARGET = x2dome -DESTDIR = -TARGET = libx2dome.so.1.0.0 -TARGETA = libx2dome.a -TARGET0 = libx2dome.so -TARGETD = libx2dome.so.1.0.0 -TARGET1 = libx2dome.so.1 -TARGET2 = libx2dome.so.1.0 - - -first: all -####### Build rules - -$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP) - -$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP) - -ln -s $(TARGET) $(TARGET0) - -ln -s $(TARGET) $(TARGET1) - -ln -s $(TARGET) $(TARGET2) - - - -staticlib: $(TARGETA) - -$(TARGETA): $(OBJECTS) $(OBJCOMP) - -$(DEL_FILE) $(TARGETA) - $(AR) $(TARGETA) $(OBJECTS) - -Makefile: x2dome.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ - /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ - x2dome.pro \ - /usr/lib/x86_64-linux-gnu/libQt5Gui.prl \ - /usr/lib/x86_64-linux-gnu/libQt5Core.prl - $(QMAKE) -o Makefile x2dome.pro -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf: -/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf: -x2dome.pro: -/usr/lib/x86_64-linux-gnu/libQt5Gui.prl: -/usr/lib/x86_64-linux-gnu/libQt5Core.prl: -qmake: FORCE - @$(QMAKE) -o Makefile x2dome.pro - -qmake_all: FORCE - - -all: Makefile $(TARGET) - -dist: distdir FORCE - (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR) - -distdir: FORCE - @test -d $(DISTDIR) || mkdir -p $(DISTDIR) - $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ - $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/ - $(COPY_FILE) --parents main.h x2dome.h ../../licensedinterfaces/basicstringinterface.h ../../licensedinterfaces/sberrorx.h $(DISTDIR)/ - $(COPY_FILE) --parents main.cpp x2dome.cpp $(DISTDIR)/ - - -clean: compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA) - -$(DEL_FILE) .qmake.stash - -$(DEL_FILE) Makefile - - -####### Sub-libraries - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -check: first - -benchmark: first - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_moc_predefs_make_all: moc_predefs.h -compiler_moc_predefs_clean: - -$(DEL_FILE) moc_predefs.h -moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp - g++ -pipe -O2 -Wall -W -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp - -compiler_moc_header_make_all: -compiler_moc_header_clean: -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_predefs_clean - -####### Compile - -main.o: main.cpp ../../licensedinterfaces/basicstringinterface.h \ - main.h \ - x2dome.h \ - ../../licensedinterfaces/domedriverinterface.h \ - ../../licensedinterfaces/driverrootinterface.h \ - ../../licensedinterfaces/linkinterface.h \ - ../../licensedinterfaces/deviceinfointerface.h \ - ../../licensedinterfaces/driverinfointerface.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp - -x2dome.o: x2dome.cpp x2dome.h \ - ../../licensedinterfaces/domedriverinterface.h \ - ../../licensedinterfaces/driverrootinterface.h \ - ../../licensedinterfaces/linkinterface.h \ - ../../licensedinterfaces/deviceinfointerface.h \ - ../../licensedinterfaces/driverinfointerface.h \ - ../../licensedinterfaces/sberrorx.h \ - ../../licensedinterfaces/basicstringinterface.h \ - ../../licensedinterfaces/serxinterface.h \ - ../../licensedinterfaces/basiciniutilinterface.h \ - ../../licensedinterfaces/theskyxfacadefordriversinterface.h \ - ../../licensedinterfaces/sleeperinterface.h \ - ../../licensedinterfaces/loggerinterface.h \ - ../../licensedinterfaces/mutexinterface.h \ - ../../licensedinterfaces/tickcountinterface.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o x2dome.o x2dome.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh deleted file mode 100755 index 32e5443..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/TheSkyX_plugin_install.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/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 ExampleX2Dome.txt" "$TheSkyX_Path/Resources/Common/Miscellaneous Files/" -#cp "./domepro.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -#cp "./domeprodiag.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -#cp "./domeshutter.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -#cp "./dometimeouts.ui" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -#cp "./Astrometric.png" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -cp "./libx2dome.so" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -#cp "./libx2dome.so.1" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -#cp "./libx2dome.so.1.0" "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/" -#cp "./libx2dome.so.1.0.0" "$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 ExampleX2Dome.txt" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/domepro.ui" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/domeprodiag.ui" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/domeshutter.ui" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/dometimeouts.ui" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/Astrometric.png" - chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0" - #chown $app_owner "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0.0" -fi -chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so" -#chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1" -#chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0" -#chmod 755 "$TheSkyX_Path/Resources/Common/$PLUGINS_DIR/DomePlugIns/libx2dome.so.1.0.0" diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.txt b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.txt deleted file mode 100644 index 3f8a14f..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/domelist ExampleX2Dome.txt +++ /dev/null @@ -1,4 +0,0 @@ -//See hardwarelist.txt for details on this file format. -//Version|Manufacturer|Model|Comment|MapsTo|PlugInDllName|X2Developer|Windows|Mac|Linux| -1|SB|SB Example Dome Controller v1| | |libx2dome||1|1|1| - diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp deleted file mode 100644 index c9e23f8..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include -#include "../../licensedinterfaces/basicstringinterface.h" -#include "main.h" -#include "x2dome.h" - - -#define PLUGIN_NAME "X2Dome example" - -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); - - *ppObjectOut = gpMyImpl; - - return 0; -} diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.h b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.h deleted file mode 100644 index bcfae92..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/main.h +++ /dev/null @@ -1,27 +0,0 @@ -#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/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp deleted file mode 100644 index fb87d55..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.cpp +++ /dev/null @@ -1,191 +0,0 @@ -#include -#include -#include "x2dome.h" -#include "../../licensedinterfaces/sberrorx.h" -#include "../../licensedinterfaces/basicstringinterface.h" -#include "../../licensedinterfaces/serxinterface.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" -#include "../../licensedinterfaces/tickcountinterface.h" - - -X2Dome::X2Dome(const char* pszSelection, - const int& nISIndex, - SerXInterface* pSerX, - TheSkyXFacadeForDriversInterface* pTheSkyXForMounts, - SleeperInterface* pSleeper, - BasicIniUtilInterface* pIniUtil, - LoggerInterface* pLogger, - MutexInterface* pIOMutex, - TickCountInterface* pTickCount) -{ - 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; -} - - -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; - -} - - -int X2Dome::establishLink(void) -{ - if (GetLogger()) - GetLogger()->out("X2Dome::establishLink"); - - m_bLinked = true; - return SB_OK; -} -int X2Dome::terminateLink(void) -{ - if (GetLogger()) - GetLogger()->out("X2Dome::terminateLink"); - - m_bLinked = false; - return SB_OK; -} - bool X2Dome::isLinked(void) const -{ - return m_bLinked; -} - -#define ADD_STR "X2Dome"; -//HardwareInfoInterface -void X2Dome::deviceInfoNameShort(BasicStringInterface& str) const -{ - str = ADD_STR -} -void X2Dome::deviceInfoNameLong(BasicStringInterface& str) const -{ - str = ADD_STR -} -void X2Dome::deviceInfoDetailedDescription(BasicStringInterface& str) const -{ - str = ADD_STR; -} - void X2Dome::deviceInfoFirmwareVersion(BasicStringInterface& str) -{ - str = ADD_STR -} -void X2Dome::deviceInfoModel(BasicStringInterface& str) -{ - str = ADD_STR -} - -//DriverInfoInterface - void X2Dome::driverInfoDetailedInfo(BasicStringInterface& str) const -{ -} -double X2Dome::driverInfoVersion(void) const -{ - return 1.0; -} - -//DomeDriverInterface -int X2Dome::dapiGetAzEl(double* pdAz, double* pdEl) -{ - if (GetLogger()) - GetLogger()->out("X2Dome::dapiGetAzEl"); - - return SB_OK; -} - -int X2Dome::dapiGotoAzEl(double dAz, double dEl) -{ - return SB_OK; -} -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) -{ - return SB_OK; -} - -int X2Dome::dapiIsOpenComplete(bool* pbComplete) -{ - return SB_OK; -} -int X2Dome::dapiIsCloseComplete(bool* pbComplete) -{ - return SB_OK; -} -int X2Dome::dapiIsParkComplete(bool* pbComplete) -{ - return SB_OK; -} -int X2Dome::dapiIsUnparkComplete(bool* pbComplete) -{ - return SB_OK; -} -int X2Dome::dapiIsFindHomeComplete(bool* pbComplete) -{ - return SB_OK; -} -int X2Dome::dapiSync(double dAz, double dEl) -{ - return SB_OK; - -} - -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; -} - diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h deleted file mode 100644 index 60bc1cf..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.h +++ /dev/null @@ -1,107 +0,0 @@ -#include "../../licensedinterfaces/domedriverinterface.h" - -class SerXInterface; -class TheSkyXFacadeForDriversInterface; -class SleeperInterface; -class BasicIniUtilInterface; -class LoggerInterface; -class MutexInterface; -class TickCountInterface; - -/*! -\brief The X2Dome example. - -\ingroup Example - -Use this example to write an X2Dome driver. -*/ -class X2Dome: DomeDriverInterface -{ -public: - - /*!Standard X2 constructor*/ - X2Dome( const char* pszSelectionString, - const int& nISIndex, - SerXInterface* pSerX, - TheSkyXFacadeForDriversInterface* pTheSkyXForMounts, - SleeperInterface* pSleeper, - BasicIniUtilInterface* pIniUtil, - LoggerInterface* pLogger, - MutexInterface* pIOMutex, - TickCountInterface* pTickCount); - 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: - - 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; - - -}; diff --git a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro b/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro deleted file mode 100644 index 287b60d..0000000 --- a/domehunter/protos/example_domepro_driver/x2/domeplugins/x2dome/x2dome.pro +++ /dev/null @@ -1,21 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon Aug 23 13:18:26 2010 -###################################################################### - -TEMPLATE = lib -TARGET = x2dome -DEPENDPATH += . -INCLUDEPATH += . - -CONFIG += dll - -win32: DEFINES += SB_WIN_BUILD -macx: DEFINES += SB_MAC_BUILD -linux-g++: DEFINES += SB_LINUX_BUILD - -# Input -HEADERS += main.h \ - x2dome.h \ - ../../licensedinterfaces/basicstringinterface.h \ - ../../licensedinterfaces/sberrorx.h -SOURCES += main.cpp x2dome.cpp diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h deleted file mode 100644 index 52b68f1..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/addfitskeyinterface.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _ADDFITSKETINTERFACE_H -#define _ADDFITSKETINTERFACE_H - -#define AddFITSKeyInterface_Name "com.bisque.TheSkyX.AddFITSKeyInterface/1.0" - -class BasicStringInterface; - -/*! -\brief The AddFITSKeyInterface allows camera drivers to add any number of additional FITS keys to the FITS header. - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -after every exposure is complete and if supported allows the camera to add additional information that will -be recorded in the FITS header of photos taken by TheSkyX. - -Each FITS header key must be of type integer, double, or string. TheSkyX will automatically format integer and double values -according the the FITS definition, but for string keys, it is left up to the camera driver to format correctly. -If this interface is supported, Cameras will first be queried for the number (count) of each type of FITS header key they wish to add, -after which TheSkyX will query the value for each key using a 0-based index for each type of key. - -Please note, TheSkyX automatically adds a number of FITS keys to each photo acquired and this interface does not -allow changing or overriding those keys and their values. - -TheSkyX build 8598 or later is required for this interface to work. Earlier TheSkyX builds simply ignore this interface and adding FITS key is not possible. - -See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. - -Speical note, build 8346 to 8597 this inteface was incorrectly called before the exposure started which may or may not matter depending upon the keywords being -added. - -\ingroup Interface -*/ - -class AddFITSKeyInterface -{ -public: - virtual int countOfIntegerFields(int &nCount) = 0; - virtual int valueForIntegerField(int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, int &nFieldValue) = 0; - - virtual int countOfDoubleFields (int &nCount) = 0; - virtual int valueForDoubleField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, double &dFieldValue) = 0; - - virtual int countOfStringFields (int &nCount) = 0; - virtual int valueForStringField (int nIndex, BasicStringInterface& sFieldName, BasicStringInterface& sFieldComment, BasicStringInterface &sFieldValue) = 0; - - virtual ~AddFITSKeyInterface(){} - -public: - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basiciniutilinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basiciniutilinterface.h deleted file mode 100644 index 01b9aea..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basiciniutilinterface.h +++ /dev/null @@ -1,45 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/basicstringinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basicstringinterface.h deleted file mode 100644 index 2d23cfa..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/basicstringinterface.h +++ /dev/null @@ -1,29 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h deleted file mode 100644 index b893969..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradependentsettinginterface.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef _CameraDependentSettingInterface_H -#define _CameraDependentSettingInterface_H - -#define CameraDependentSettingInterface_Name "com.bisque.TheSkyX.CameraDependentSettingInterface/1.0" - -/*! -\brief The CameraDependentSettingInterface allows camera drivers to supply one open-ended, additional argument to the standard - CameraDriverInterface::CCStartExposure function. This offers camera drivers great flexibility in what the setting - does along with the available options. - -\ingroup Interface - -This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. -However, many cameras support options which may be device-specific, or are otherwise unsupported by the default implementation -of acquiring an exposure. Examples might include RBI flush, or multiple data readout modes, specialized processing, etc. - -This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to -dictate all available values or options for this argument. TheSkyX will then allow the user to select between these options when -commanding an exposure with the user interface or through scripting. - -As an example, a company named "XYZ" might use this interface to support enabling/disabling RBI: -- CCGetExtendedSettingName would return "XYZ RBI mode" -- CCGetExtendedValueCount would return 2 -- CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. -- CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. - -If an older version of TheSkyX attaches to a driver implementing this interface, the standard CCStartExposure function -will be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with -nIndex == 0. - -When an exposure is acquired when this interface is supported, the current setting (i.e. whatever option is currently selected) -is written to the FITS header under the FITS key "CDS" with the FITS comment "Camera dependent setting". - -This interface was added in TheSky build 11525. - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class CameraDependentSettingInterface -{ -public: - - virtual ~CameraDependentSettingInterface(){} - -public: - //CameraDependentSettingInterface - - /*!TheSkyX calls this function to query the human-readable name of the camera dependent setting. The string sSettingName is displayed to user as - the label next to the camera dependent setting. The setting name should be relatively short and meaningful. Avoid using an overly generic name. It is strongly - recommended that the setting name be prepended with the company initials (or company name if short), see the detailed description for a specific example. - This way scripted access has a chance to uniquely identifiy the particular camera dependent setting for use in differing contexts. This setting name should - not arbitrarily change once published since it will act as a unique identifier for scripted use of this setting. Available options should not change either, unless added to.*/ - virtual int CCGetExtendedSettingName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, BasicStringInterface &sSettingName)=0; - - /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ - virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the human-readable name of each of the possible values or options the camera dependent argument may take. - The strings returned by this function will be presented to the user for selection. */ - virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; - - /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 - and the result of CCGetExtendedValueCount - 1 */ - virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, - const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h deleted file mode 100644 index 3b3f1bb..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/cameradriverinterface.h +++ /dev/null @@ -1,201 +0,0 @@ -#if !defined(_CameraDriverInterFace_H_) -#define _CameraDriverInterFace_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" -#include "enumcameraindex.h" -#else//TheSkyX X2 Plug In Build -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -typedef enum -{ -CI_NONE, -CI_PLUGIN=10000, -CI_PLUGIN_LAST=CI_PLUGIN+50000, -} enumCameraIndex; -#endif - -//TheSkyX's camera driver interface -#define CAMAPIVERSION 6 - -typedef enum {CCD_IMAGER, CCD_GUIDER} enumWhichCCD; -typedef enum {PT_UNKNOWN, PT_LIGHT, PT_BIAS, PT_DARK, PT_FLAT, PT_AUTODARK} enumPictureType; - -//This is an exact copy of SBIG's enum -typedef enum { zDEV_NONE, zDEV_LPT1, zDEV_LPT2, zDEV_LPT3, zDEV_USB=0x7F00, zDEV_ETH, zDEV_USB1, zDEV_USB2, zDEV_USB3, zDEV_USB4 } enumLPTPort; - -/*! -\brief The CameraDriverInterface allows an X2 implementor to a write X2 camera driver. - -\ingroup Driver - -See the X2Camera for a example. -*/ -class CameraDriverInterface : public DriverRootInterface, public HardwareInfoInterface, public DriverInfoInterface -{ -//Base class start copy here - -public: - inline CameraDriverInterface() - { - m_bLinked = false; - m_Camera = CI_NONE; - } - virtual ~CameraDriverInterface(){}; - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_CAMERA;} - virtual int queryAbstraction(const char* pszName, void** ppVal) =0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; - virtual double driverInfoVersion(void) const =0; - //@} - - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const =0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const =0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const =0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) =0; - virtual void deviceInfoModel(BasicStringInterface& str) =0; - //@} - -//CameraDriverInterface - - /*! ReadOutMode */ - enum ReadOutMode - { - rm_Line = 0, /**< The camera is a line readout device.*/ - rm_Image = 1, /**< The camera is a frame readout device.*/ - rm_FitsOnDisk = 2, /**< The camera provides the image as a FITS on disk.*/ - }; - -public://Properties - - /*!Software Bisque only.*/ - virtual enumCameraIndex cameraId() {return m_Camera;} - /*!Software Bisque only.*/ - virtual void setCameraId(enumCameraIndex Cam) {m_Camera = Cam;} - /*!Return true if the camrea is connected (linked)*/ - virtual bool isLinked() {return m_bLinked;} - /*!Software Bisque only.*/ - virtual void setLinked(const bool bYes) {m_bLinked = bYes;} - - /*! Return the version to this interface, X2 implementors do not modify.*/ - virtual int cameraDriverInterfaceVersion(void) {return CAMAPIVERSION;} - /*! Return how this camera reads out the image.*/ - virtual ReadOutMode readoutMode(void) {return CameraDriverInterface::rm_Line;} - /*! This is called to return the path to the corresponding FITS file, only when readoutMode() returns rm_FitsOnDisk. \sa readoutMode().*/ - virtual int pathTo_rm_FitsOnDisk(char* lpszPath, const int& nPathMaxSize){(void)lpszPath; (void)nPathMaxSize;return 0;} - -public://Methods - - /*! Display a device dependent settings dialog if necessary.*/ - virtual int CCSettings(const enumCameraIndex& Camera, const enumWhichCCD& CCD)=0; - - /*! Connect or establish a link to the camera.*/ - virtual int CCEstablishLink(enumLPTPort portLPT, const enumWhichCCD& CCD, enumCameraIndex DesiredCamera, enumCameraIndex& CameraFound, const int nDesiredCFW, int& nFoundCFW)=0; - /*! Disconnect from the camera.*/ - virtual int CCDisconnect(const bool bShutDownTemp)=0; - - /*! Return the physical size of the camera's detector.*/ - virtual int CCGetChipSize(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nXBin, const int& nYBin, const bool& bOffChipBinning, int& nW, int& nH, int& nReadOut)=0; - /*! Return the number of bin modes this camera supports.*/ - virtual int CCGetNumBins(const enumCameraIndex& Camera, const enumWhichCCD& CCD, int& nNumBins)=0; - /*! Return the size x and y bin size for each bin mode this camera supports.*/ - virtual int CCGetBinSizeFromIndex(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nIndex, long& nBincx, long& nBincy)=0; - - /*! Set the size of subframe in binned pixels.*/ - virtual int CCSetBinnedSubFrame(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nLeft, const int& nTop, const int& nRight, const int& nBottom)=0; - - /*! SBIG specific.*/ - virtual void CCMakeExposureState(int* pnState, enumCameraIndex Cam, int nXBin, int nYBin, int abg, bool bRapidReadout)=0; - - /*! Start the exposure.*/ - virtual int CCStartExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, const int& nABGState, const bool& bLeaveShutterAlone)=0; - /*! Called to know if the exposure is complete. \param pbComplete Set to true if the exposure is complete, otherwise set to false. \param pStatus is SBIG specific and can be ignored.*/ - virtual int CCIsExposureComplete(const enumCameraIndex& Cam, const enumWhichCCD CCD, bool* pbComplete, unsigned int* pStatus)=0; - /*! Called once the exposure is complete. Allows software implementation of downloading since for every CCStartExposure there is a corresponding CCEndExposure.*/ - virtual int CCEndExposure(const enumCameraIndex& Cam, const enumWhichCCD CCD, const bool& bWasAborted, const bool& bLeaveShutterAlone)=0; - - /*!Return one line of the image. /sa readoutMode().*/ - virtual int CCReadoutLine(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& pixelStart, const int& pixelLength, const int& nReadoutMode, unsigned char* pMem)=0; - /*!Dump n lines to speed up download when a subframe is present.*/ - virtual int CCDumpLines(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nReadoutMode, const unsigned int& lines)=0; - - /*!Return the image. /sa readoutMode().*/ - virtual int CCReadoutImage(const enumCameraIndex& Cam, const enumWhichCCD& CCD, const int& nWidth, const int& nHeight, const int& nMemWidth, unsigned char* pMem)=0; - - /*!Turn off or on temperature regulation.*/ - virtual int CCRegulateTemp(const bool& bOn, const double& dTemp)=0; - /*!Return the temperature and corresponding status. Because camera hardware varies widely with respect to temperature control, this method is intended to accomodate - a wide range of levels of support, from the most basic, where only temperature regulation can be enabled/disabled to the most advanced that includes regulation enabled/disabled, - percent power, a discriptive string assocaited with power, and setpoint or any combination. - \param dCurTemp Return the current temperature or -100 if not supported. - \param dCurPower Return the power applied to the TE cooler or -100 if not supported. - \param lpszPower Return a string associated the power applied to the TE cooler or NULL if not supported. Example strings might be "Off", "Cooling To Setpoint", - "Correcting", "Raising to Ambient", "Ambient", "Max", "Min", "OK (At Setpoint)" - \param nMaxLen The maximum size the lpszPower string can be. - \param bCurEnabled Return 1 if temperature is being regulated or 0 if not. - \param dCurSetPoint Return the current temperature setpoint or -100 if not supported.*/ - virtual int CCQueryTemperature(double& dCurTemp, double& dCurPower, char* lpszPower, const int nMaxLen, bool& bCurEnabled, double& dCurSetPoint)=0; - /*!When possible, return a recommended temperature setpoint. \param dRecSP The recommended temperature setpoint or set to 100 if unable to recommend one.*/ - virtual int CCGetRecommendedSetpoint(double& dRecSP)=0; - /*!Turn the fan of off.*/ - virtual int CCSetFan(const bool& bOn)=0; - - /*!Turn on a camera relay or relays, in 1/100's of a second. Called when autoguiding.*/ - virtual int CCActivateRelays(const int& nXPlus, const int& nXMinus, const int& nYPlus, const int& nYMinus, const bool& bSynchronous, const bool& bAbort, const bool& bEndThread)=0; - - /*!SBIG specific for controlling internal filter wheels.*/ - virtual int CCPulseOut(unsigned int nPulse, bool bAdjust, const enumCameraIndex& Cam)=0; - - /*!Manually control the shutter. This method is only called in very specialized circumstances with specific hardware and or customized software and not called in general. You may implement this if the camera hardware is capable of successfully opening and closing the shutter outside or within the context of an exposure. */ - virtual int CCSetShutter(bool bOpen)=0; - /*!Deprecated. Called after download to resynchronize the PC clock to the real-time clock.*/ - virtual int CCUpdateClock(void)=0; - - /*!Software Bisque only.*/ - virtual int CCSetImageProps(const enumCameraIndex& Camera, const enumWhichCCD& CCD, const int& nReadOut, void* pImage)=0; - /*!Return the camera's full dynamic range, required for \@Focus and \@Focus2 to work.*/ - virtual int CCGetFullDynamicRange(const enumCameraIndex& Camera, const enumWhichCCD& CCD, unsigned long& dwDynRg)=0; - - /*!Called before download.*/ - virtual void CCBeforeDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; - /*!Called after download.*/ - virtual void CCAfterDownload(const enumCameraIndex& Cam, const enumWhichCCD& CCD)=0; - - //Implemenation below here -protected: - bool m_bLinked; - enumCameraIndex m_Camera; - -//Base class End Copy Above here -}; - - -//Added another export to CamAPI -//Not requried so its backward compatible -//Attempted to add a ptr func to it in CamApi.h, but got bad debug delete error -//(i.e. the CamAPI object header, was different from what CCDSoft allocated. -//This gives TheSkyX a way to talk to a plug in imp outside the context of the above object -//Mostly its for Photometric camera that has NFrames -#ifdef Q_WS_WIN -typedef __declspec(dllexport) int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); -#else -typedef int (*pfCamAPIDoCommand)(const int& nCmd, const int& nWhichCCD, int* pnArg1, char* lpszInOutStrArg, const int& nInArgStrArgSize); -#endif - -#endif //_CameraDriverInterFace_H_ diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/deviceinfointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/deviceinfointerface.h deleted file mode 100644 index b91a87c..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/deviceinfointerface.h +++ /dev/null @@ -1,34 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/domedriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/domedriverinterface.h deleted file mode 100644 index fb1c444..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/domedriverinterface.h +++ /dev/null @@ -1,100 +0,0 @@ -#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 "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/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 {}; - 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 = 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 \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverinfointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverinfointerface.h deleted file mode 100644 index d6f2129..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverinfointerface.h +++ /dev/null @@ -1,28 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/driverrootinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverrootinterface.h deleted file mode 100644 index 3478a7a..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverrootinterface.h +++ /dev/null @@ -1,51 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h deleted file mode 100644 index 336611f..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/driverslewstoparkpositioninterface.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _DriverSlewsToParkPositionInterface_H -#define _DriverSlewsToParkPositionInterface_H - -#define DriverSlewsToParkPositionInterface_Name "com.bisque.TheSkyX.DriverSlewsToParkPositionInterface/1.0" - -/*! -\brief The DriverSlewsToParkPositionInterface prevents TheSky from slewing the mount to the park position when a Park command is issued so that the mount driver can take on this responsibility. - -\ingroup Interface - -This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. - -Merely implementing this interface means the mount driver slews to the park position and parks the mount as well as maintains the park position. No additional implementation needed. - -This overrides the default behavior where upon Park, TheSky is responsible for slewing a mount to the park position, parking and maintaining that position. - -This interface was added in TheSky build 11173, see TheSkyXFacadeForDriversInterface::build. - -\sa ParkInterface -*/ -class DriverSlewsToParkPositionInterface -{ -public: - - virtual ~DriverSlewsToParkPositionInterface(void){} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h deleted file mode 100644 index 1886578..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/extendedcamerainterface.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef _ExtendedCameraInterface_H -#define _ExtendedCameraInterface_H - -#define ExtendedCameraInterface_Name "com.bisque.TheSkyX.ExtendedCameraInterface/1.0" - -/*! -\brief - -This interface is deprecated. New development should instead use CameraDependentSettingInterface. -This interface was deprecated in TheSky build 11525. - -Existing drivers that support ExtendedCameraInterface will continure to work, but -developers are encouraged to migrate their code to use CameraDependentSettingInterface. The change -is minimal in that the intefaces are identical except there is one additional method, namely CCGetExtendedSettingName -to supply a name for the extended setting. -A driver may support both ExtendedCameraInterface and CameraDependentSettingInterface and the latter will -prevail if the build is equal to or greater than the build when ExtendedCameraInterface was deprecated. - - -The ExtendedCameraInterface allows camera drivers to supply one additional argument to the standard - CameraDriverInterface::CCStartExposure function. - -\ingroup Interface - -This interface is optional. By default, TheSkyX will use the standard CCStartExposure defined in CameraDriverInterface. -However, many cameras support options which may be device-specific, or are otherwise unsupported by this default implementation -(such as RBI flush, or multiple data readout modes). - -This interface adds a single additional argument to the standard CCStartExposure function, and allows the camera driver to -enumerate the potential values for this argument. TheSkyX will then allow the user to select between these values when -commanding an exposure. - -As an example, a simple implementation of this interface to support enabling/disabling RBI might: -* CCGetExtendedValueCount would return 2 -* CCGetExtendedValueName would return "No RBI" as nIndex == 0, and "Using RBI" as nIndex == 1. -* CCStartExposureAdditionalArgInterface would disable RBI if passed nIndex == 0, but would enable RBI if nIndex == 1. - -If an older version of TheSkyX attaches to a driver implementing this function, the standard CCStartExposure function -should be called. By convention, this should be the equivalent of calling CCStartExposureAdditionalArgInterface with -nIndex == 0. - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class ExtendedCameraInterface -{ -public: - - virtual ~ExtendedCameraInterface(){} - -public: - //ExtendedCameraInterface - /*!TheSkyX calls this function to query the number of possible values the extended CCStartExposure argument may take.*/ - virtual int CCGetExtendedValueCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the human-readable name of each of the possible values the extended argument may take. - The strings returned by this function will be presented to the user for selection. */ - virtual int CCGetExtendedValueName(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; - - /*! An alternative to the standard implementation of CCStartExposure to present one additional option (nIndex), whose value must be between 0 - and the result of CCGetExtendedValueCount - 1 */ - virtual int CCStartExposureAdditionalArgInterface(const enumCameraIndex& Cam, const enumWhichCCD CCD, const double& dTime, enumPictureType Type, - const int& nABGState, const bool& bLeaveShutterAlone, const int &nIndex)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h deleted file mode 100644 index 5dc07ec..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheeldriverinterface.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef _FilterWheelDriverInterface_H -#define _FilterWheelDriverInterface_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" -#include "imagingsystem/hardware/interfaces/licensed/filterwheelmovetointerface.h" -#else -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#include "../../licensedinterfaces/filterwheelmovetointerface.h" -#endif - -/*! -\brief The FilterWheelDriverInterface allows an X2 implementor to a write X2 filter wheel driver. - -\ingroup Driver - -See the X2FilterWheel for an example. -*/ -class FilterWheelDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FilterWheelMoveToInterface -{ -public: - virtual ~FilterWheelDriverInterface(){} - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FILTERWHEEL;} - virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const = 0; - virtual double driverInfoVersion(void) const = 0; - //@} - - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; - virtual void deviceInfoModel(BasicStringInterface& str) = 0; - //@} - - /*!\name LinkInterface Implementation - See LinkInterface.*/ - //@{ - virtual int establishLink(void) = 0; - virtual int terminateLink(void) = 0; - virtual bool isLinked(void) const = 0; - //@} - - /*!\name FilterWheelMoveToInterface Implementation - See FilterWheelMoveToInterface.*/ - //@{ - virtual int filterCount(int& nCount) = 0; - virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut) = 0; - virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; - virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; - virtual int endFilterWheelMoveTo(void) = 0; - virtual int abortFilterWheelMoveTo(void) = 0; - //@} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h deleted file mode 100644 index 6c841de..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/filterwheelmovetointerface.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef _FilterWheelMoveToInterface_H -#define _FilterWheelMoveToInterface_H - -#define FilterWheelMoveToInterface_Name "com.bisque.TheSkyX.FilterWheelMoveToInterface/1.0" - -class BasicStringInterface; - -/*! -\brief The FilterWheelMoveToInterface allows moving to a specific filter. - -\ingroup Interface - -This interface is used by TheSkyX to move a filter wheel to a specific filter. -By nature this interface supports moving to a filter asyncrhonously, but can also -be used to move to a filter synchronously. - -*/ -class FilterWheelMoveToInterface -{ -public: - - virtual ~FilterWheelMoveToInterface(){} - -public: - - /*!Return the total number of available filters.*/ - virtual int filterCount(int& nCount) = 0; - - /*!Start the move to operation.*/ - virtual int startFilterWheelMoveTo(const int& nTargetPosition) = 0; - /*!Sets bComplete to non zero when the move to is complete.*/ - virtual int isCompleteFilterWheelMoveTo(bool& bComplete) const = 0; - /*!End the move to. This function is always called for every corresponding startFilterWheelMoveTo(), allowing software implementations of move to.*/ - virtual int endFilterWheelMoveTo(void) = 0; - /*!Abort any move to operation in progress.*/ - virtual int abortFilterWheelMoveTo(void) = 0; - - /*!Return a default name of the filter associated with nIndex (in the range 0 to nCount-1 returned by filterCount(nCount)). - This is optional and gives X2 drivers a way to provide a default filter name if so desired. The default implemenation does nothing, - in which case TheSky will provide a default name for each filter. TheSkyX provides a means for users to edit filter names as well.*/ - virtual int defaultFilterName(const int& nIndex, BasicStringInterface& strFilterNameOut){(void)nIndex; return 0;}; - - /*! \page embeddeddevices Embedded Devices - - In an effort to lessen the burden in developing device drivers for TheSkyX, X2 specifically addresses the concept of an embedded device. - The X2 architecture by default keeps in line with object oriented programming techniques which strive to keep objects independent of one another, - for example a camera and a filter wheel are independent. This is fine when physically the devices are separate, say from two manufacturers and - they communicate on two different ports and they are independent. In practice, many cameras have a built in filter wheel, - and both camera and filter wheel communicate over the same port and a (plug in) driver model that treats them independently can place a burden - on the developer to solve how to get the two independent drivers hosted in two shared libraries (dlls) to communicate over the same port. - - TheSkyX has the means to allow a camera to have an embedded filter wheel (a mount having an embedded focuser might be next - but TheSkyX already has native drivers for most popular mounts with embedded focusers). - - The following are required for a camera to have a embedded filter wheel from TheSkyX's perspective: - - -# 1) The x2 camera driver must implement the FilterWheelMoveToInterface. - -# 2) The hardwarelist.txt for the filter wheel must have its "MapsTo" field set to "Camera's Filter Wheel". - - With this combination, TheSkyX will simply delegate the filter wheel calls to the camera's implementation of the FilterWheelMoveToInterface, - thus "easily" allowing a camera driver to be created that has an embedded filter wheel while at the same time not duplicating interfaces to address - an independent filter wheel vs. an dependent (embedded) filter wheel. - - Also see MultiConnectionDeviceInterface. - */ - - - /*!The default implementation of this function does nothing which is correct for most filter wheels. Only consider this function if you are - implementing a camera's embedded filter wheel. - - If a CameraDriverInterface implements the FilterWheelMoveToInterface (for an embedded filter wheel), TheSkyX calls embeddedFilterWheelInit - passing along the name of the filter wheel selection just prior to establishLink for the camera. - This serves to provide the camera sufficient information to be prepared for filter wheel control. - X2 implementors can give many names to an embedded filter wheel(s) through their hardwarelist.txt, - in case that differentiation helps in implementation or there are n filter wheel models to choose from. - For more information, see the \ref embeddeddevices page.*/ - virtual void embeddedFilterWheelInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h deleted file mode 100644 index e7280b7..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusergotointerface2.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef _FocuserGotoInterface2_H -#define _FocuserGotoInterface2_H - -#ifdef THESKYX_FOLDER_TREE -#include "components/basicstring/basicstringinterface.h" -#else -#include "../../licensedinterfaces/basicstringinterface.h" -#endif - -#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" - -/*! -\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. - -\ingroup Interface - -The nature of a focuser is that it moves relative from where it is, in(-) and out(+). -This justifies why startFocGoto() is relative rather than absolute. An absolute goto can -be accomplished by the more primitive, indigenous startFocGoto. - -The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases -startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers -can essentially "fake" the the asynchronousness. - -*/ - -class FocuserGotoInterface2 -{ -public: - - virtual ~FocuserGotoInterface2(){} - -public: - - /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ - virtual int focPosition(int& nPosition) =0; - /*! Return the focusers minimum limit.*/ - virtual int focMinimumLimit(int& nMinLimit) =0; - /*! Return the focusers maximum limit.*/ - virtual int focMaximumLimit(int& nMaxLimit) =0; - /*! Abort an operation in progress.*/ - virtual int focAbort() =0; - - /*! Initiate the focus goto operation.*/ - virtual int startFocGoto(const int& nRelativeOffset) = 0; - /*! Return if the goto is complete.*/ - virtual int isCompleteFocGoto(bool& bComplete) const = 0; - /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ - virtual int endFocGoto(void) = 0; - - /*! Return the number (count) of avaiable focuser gotos.*/ - virtual int amountCountFocGoto(void) const = 0; - /*! Return a string along with the amount or size of the corresponding focuser goto.*/ - virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; - /*! Return the current index of focuser goto selection. */ - virtual int amountIndexFocGoto(void) =0; - - /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ - virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h deleted file mode 100644 index 8d71e62..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuser/focusertemperatureinterface.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _FocuserTemperatureInterface_H -#define _FocuserTemperatureInterface_H - -#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" - -/*! -\brief The FocuserTemperatureInterface allows focusers to report their current temperature. - -\ingroup Interface - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class FocuserTemperatureInterface -{ -public: - - virtual ~FocuserTemperatureInterface(){} - -public: - //FocuserTemperatureInterface - /*!TheSkyX calls this fuunction to return the focuser's current temperature. - The value should be reported in degrees celsius. For drivers that support multiple focusers - where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or - setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ - virtual int focTemperature(double &dTemperature)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h deleted file mode 100644 index dd78ffa..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focuserdriverinterface.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _FocuserDriverInterface_H -#define _FocuserDriverInterface_H - -#ifdef THESKYX_FOLDER_TREE -#include "imagingsystem/hardware/interfaces/licensed/driverrootinterface.h" -#include "imagingsystem/hardware/interfaces/licensed/deviceinfointerface.h" -#include "imagingsystem/hardware/interfaces/licensed/driverinfointerface.h" -#include "imagingsystem/hardware/interfaces/licensed/linkinterface.h" -#include "imagingsystem/hardware/interfaces/licensed/focuser/focusergotointerface2.h" -#include "sberror.h" -#else -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/focuser/focusergotointerface2.h" -#endif - -/*! -\brief The FocuserDriverInterface allows an X2 implementor to a write X2 focuser driver. - -\ingroup Driver - -See the X2Focuser for an example. -*/ -class FocuserDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public FocuserGotoInterface2 -{ -public: - virtual ~FocuserDriverInterface(){} - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_FOCUSER;} - virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const {}; - virtual double driverInfoVersion(void) const {return 0.0;} - //@} - - /*!\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 LinkInterface Implementation - See LinkInterface.*/ - //@{ - virtual int establishLink(void) = 0; - virtual int terminateLink(void) = 0; - virtual bool isLinked(void) const = 0; - //@} - - /*!\name FocuserGotoInterface2 Implementation - See FocuserGotoInterface2.*/ - virtual int focPosition(int& nPosition) =0; - virtual int focMinimumLimit(int& nMinLimit) =0; - virtual int focMaximumLimit(int& nMaxLimit) =0; - virtual int focAbort() =0; - - virtual int startFocGoto(const int& nRelativeOffset) = 0; - virtual int isCompleteFocGoto(bool& bComplete) const = 0; - virtual int endFocGoto(void) = 0; - - virtual int amountCountFocGoto(void) const = 0; - virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; - virtual int amountIndexFocGoto(void)=0; - //@} - - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h deleted file mode 100644 index e7280b7..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusergotointerface2.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef _FocuserGotoInterface2_H -#define _FocuserGotoInterface2_H - -#ifdef THESKYX_FOLDER_TREE -#include "components/basicstring/basicstringinterface.h" -#else -#include "../../licensedinterfaces/basicstringinterface.h" -#endif - -#define FocuserGotoInterface2_Name "com.bisque.TheSkyX.FocuserGotoInterface2/1.0" - -/*! -\brief The FocuserGotoInterface2 allows a focuser to perform a goto operation. - -\ingroup Interface - -The nature of a focuser is that it moves relative from where it is, in(-) and out(+). -This justifies why startFocGoto() is relative rather than absolute. An absolute goto can -be accomplished by the more primitive, indigenous startFocGoto. - -The gotos can be asynchronous, but some focuser hardware precludes that. In such, cases -startFocGoto should be synchronous and isCompleteFocGoto would always return true so drivers -can essentially "fake" the the asynchronousness. - -*/ - -class FocuserGotoInterface2 -{ -public: - - virtual ~FocuserGotoInterface2(){} - -public: - - /*! Return the position of the focuser. If the hardware doesn't have a digital read out, return a number that roughly corresponds to whatever units the focuser moves in (time, lenght, etc.)*/ - virtual int focPosition(int& nPosition) =0; - /*! Return the focusers minimum limit.*/ - virtual int focMinimumLimit(int& nMinLimit) =0; - /*! Return the focusers maximum limit.*/ - virtual int focMaximumLimit(int& nMaxLimit) =0; - /*! Abort an operation in progress.*/ - virtual int focAbort() =0; - - /*! Initiate the focus goto operation.*/ - virtual int startFocGoto(const int& nRelativeOffset) = 0; - /*! Return if the goto is complete.*/ - virtual int isCompleteFocGoto(bool& bComplete) const = 0; - /*! Called after the goto is complete. This is called once for every corresponding startFocGoto() allowing software implementations of focuser gotos.*/ - virtual int endFocGoto(void) = 0; - - /*! Return the number (count) of avaiable focuser gotos.*/ - virtual int amountCountFocGoto(void) const = 0; - /*! Return a string along with the amount or size of the corresponding focuser goto.*/ - virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0; - /*! Return the current index of focuser goto selection. */ - virtual int amountIndexFocGoto(void) =0; - - /*! Coming soon to TheSkyX, a mount having an embedded focuser, via x2. */ - virtual void embeddedFocuserInit(const char* psFilterWheelSelection){(void)psFilterWheelSelection;} - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h deleted file mode 100644 index 8d71e62..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/focusertemperatureinterface.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _FocuserTemperatureInterface_H -#define _FocuserTemperatureInterface_H - -#define FocuserTemperatureInterface_Name "com.bisque.TheSkyX.FocuserTemperatureInterface/1.0" - -/*! -\brief The FocuserTemperatureInterface allows focusers to report their current temperature. - -\ingroup Interface - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -and if supported the user interface in TheSkyX for displaying focuser temperature is enabled. -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class FocuserTemperatureInterface -{ -public: - - virtual ~FocuserTemperatureInterface(){} - -public: - //FocuserTemperatureInterface - /*!TheSkyX calls this fuunction to return the focuser's current temperature. - The value should be reported in degrees celsius. For drivers that support multiple focusers - where individual devices may or may not support temperature readout, returning ERR_NOT_IMPL or - setting the temperature value to -100.0 will indicate to TSX that a temperature is unavaliable */ - virtual int focTemperature(double &dTemperature)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h deleted file mode 100644 index 457dd4c..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/gpsinterface.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _GPSInterface_H -#define _GPSInterface_H - -#define GPSInterface_Name "com.bisque.TheSkyX.GPSInterface/1.0" - -/*! -\brief The GPSInterface allows communcation with a GPS device. - -\ingroup Interface - -This interface is optional. At this time TheSkyX only queries mounts for implementation of this interface. -In the future, other devices may be queried for implementation of this interface if and when GPS services ever exist on these devices. -*/ - -class GPSInterface -{ -public: - - virtual ~GPSInterface(){} - -public: - //GPSInterface - /*!Return true if the GPS exists and is present.*/ - virtual bool gpsExists(void)=0; - /*!Return true if the GPS is connected (linked).*/ - virtual int isGPSLinked(bool&)=0; - /*!Return the longitude in degrees.*/ - virtual int gpsLongitude( double& dLong )=0; - /*!Return the latitude in degrees.*/ - virtual int gpsLatitude( double& dLat )=0; - /*!Return the date.*/ - virtual int gpsDate( int& mm, int& dd )=0; - /*!Return the time.*/ - virtual int gpsTime( int& hh, int& min, double& s)=0; - /*!Return the year.*/ - virtual int gpsYear(int& yy)=0; - /*!Return the timezone.*/ - virtual int gpsTimeZone(int& tz)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h deleted file mode 100644 index 8253b68..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/hardwaremodeloverride.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _HardwareModelOverrideInterface_H -#define _HardwareModelOverrideInterface_H - -#define HardwareModelOverrideInterface_Name "com.bisque.TheSkyX.HardwareModelOverrideInterface/1.0" - -/*! -\brief The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than the -'Model' field found in the corresponding company specific 'hardwarelist.txt' file. - -\ingroup Interface - -This interface is optional. It is not recommended to support this interface unless it is absolutely necessary. -Software Bisque has found that customers expect to be able to explicitly choose their hardware model and if they -cannot, they will usually require technical support. -The recommended way x2 drivers list their hardware model(s) is to explicitly list each model in their company -specific "hardwarelist.txt" (see the "hardwarelist.txt" for details). The "hardwareList.txt" convention provides -a simple way to list n models that point to one or more drivers without requiring any hardware i/o calls. - -The HardwareModelOverrideInterface allows x2 drivers to provide a textual model name other than what is listed -in the company specific hardware list. Examples of implementing this interface may include cases where listing all -possible models isn't desirable or if the x2 driver is consuming another entire driver model where the -actual model of hardware is purposefully hidden and if and only if the real model is known after connection. - -TheSkyX build 6655 or later is required for this optional interface to work. Earlier builds simply ignore it. - -See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. - -*/ - -class HardwareModelOverrideInterface -{ -public: - - virtual ~HardwareModelOverrideInterface(){} - -public: - //HardwareModelOverrideInterface - /*!Return a model name.*/ - virtual void hardwareModelOverride(BasicStringInterface& str)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/linkinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/linkinterface.h deleted file mode 100644 index 29bcb41..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/linkinterface.h +++ /dev/null @@ -1,40 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/loggerinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/loggerinterface.h deleted file mode 100644 index 08b747c..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/loggerinterface.h +++ /dev/null @@ -1,72 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h deleted file mode 100644 index 4018260..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/modalsettingsdialoginterface.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef _ModalSettingsDialogInterface_H -#define _ModalSettingsDialogInterface_H - -#define ModalSettingsDialogInterface_Name "com.bisque.TheSkyX.ModalSettingsDialogInterface/1.0" - -/*! -\brief The ModalSettingsDialogInterface allows X2 implementors to display a customized settings user interface. - -\ingroup Interface - -X2 implementors can implement this interface to have TheSky display their own, modal, settings user interface. - -Warning, if this interface is implemented without a using X2GUIInterace, the resulting X2 driver will -require either some kind of cross platform windowing library or windowing code native to each operating system. -Instead, X2 implementors are encouraged to use the X2GUIInterace in their implementation of this interface -(see the X2Camera for a complete example) to keep their driver more maintainable and portable across operating systems -and to simplify their driver distribution. - -\sa SerialPortParams2Interface -*/ - -class ModalSettingsDialogInterface -{ -public: - - virtual ~ModalSettingsDialogInterface(){} - -public: - //ModalSettingsDialogInterface - /*! Initialize the modal settings dialog.*/ - virtual int initModalSettingsDialog(void) = 0; - /*! Execute and display the modal settings dialog.*/ - virtual int execModalSettingsDialog(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h deleted file mode 100644 index 626d209..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/asymmetricalequatorialinterface.h +++ /dev/null @@ -1,195 +0,0 @@ -#ifndef _AsymmetricalEquatorialInterface_H -#define _AsymmetricalEquatorialInterface_H - -#include "mounttypeinterface.h" - -#define AsymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.AsymmetricalEquatorialInterface/1.0" - -/*!\defgroup Tool Device Driver Tool Kit*/ -/*!\defgroup Driver Driver Interfaces */ -/*!\defgroup Interface Optional Interfaces*/ -/*!\defgroup Example Example Drivers*/ -/*!\defgroup GUI Graphical User Interface (GUI)*/ - -/*! \page x2howto How to Write a TheSkyX Driver - - For illustration purposes, the following steps are for creation of a camera driver, but the same steps are involved in making any X2 driver. - - The X2Camera example source code provides a pattern to follow to create a TheSkyX camera driver. - - -# Obtain TheSkyX version 10.1.9 or later. - -# Tell TheSkyX A) how to display your camera to the user for selection and B) the name of the file that is your plug in binary by making your own company specific list of camera hardware. - -# Make a copy of "cameralist.txt" distributed by TheSkyX and name it "cameralist My Company.txt" where 'My Company' is your company name. The files goes in the same folder as cameralist.txt. - -# Edit "cameralist My Company.txt" remove all lines except one and by following the existing format, enter your specific camera information and the name of your plug in binary is "My Company Plug In File Name", for example: - -# "2|My Company|My Company Hardware Model|Comment| |My Company Plug In File Name|x2 developer string||||" - -# See the header of the file "hardwarelist.txt" distributed by TheSkyX for more details on this file format. - -# Compile the X2Camera sample unmodified, and place the binary into the TheSkyX/Resources/Common/PlugIns/CameraPlugIns folder. Start TheSkyX, go to Telescope, Setup and in the Imaging System Setup tree select Cameras, select the X2Camera and choose Connect. The X2 plug in dll CCEstablishLink will be called. - -# Implement the X2Camera with device dependent io calls. See the X2Camera source for more details on function calls. Use conditional compilation for OS specific io calls or branch in main.cpp with two entirely different X2Camera implementations depending upon OS. - -*/ - -/*! \page x2driverinstall Installing Your X2 Driver - - The x2 developer should provide a means to install/update their driver independent of TheSkyX. For cross platform drivers, there is the need for a Windows/Mac installer. - Unfortunately, we are not aware of any good, free, cross platform installers (Installshield and bitrock are expensive). On Windows consider the MSI or nullsoft installer. - - At a minimum, your own x2 installer will need to distribute two files, your own "hardwarelist .txt" with your list of hardware and the corresponding plug in binary. - Any other libraries your binary requires also need distributed. Please strive to minimize dependencies and static link libraries whenever possible. - - With the above being said, a vision Software Bisque is for TheSkyX to come with drivers (x2 or native) for the most popular hardware and for everything to work "out of the box." - IOW, install TheSkyX, and immediately control your dome, mount, camera, autoguider, filter wheel, focuser, rotator, etc, on either Windows and Mac. This is another primary reason we've - architected x2 the way we did, to keep the x2 driver footprint small, efficient and with as few as possible dependencies. If you have confidence in your x2 driver - and are willing to stand behind it, TheSkyX's installer would love to include it, please contact Software Bisque to discuss. - - \section whereistheskyx Where Is TheSkyX Installed? - - There are many ways to find out where TheSkyX is installed. TheSkyX has the following convention to hopefully make it easier to write an installer and works on both Mac and or Windows... - - Conventionally, TheSkyX 10.1.11 (build 4630 and later) provides a way for third parties easily find out where TheSkyX is installed. - The file TheSkyXInstallPath.txt holds the path to where TheSkyX is installed. TheSkyXInstallPath.txt file is found in the folder... - - on Windows: /Software Bisque/TheSkyX Professional Edition - - on Mac: ~/Library/Application Support/Software Bisque/TheSkyX Professional Edition - - (For installations targeting TheSkyX Serious Astronomer Edition, replace the "TheSkyX Professional Edition" with "TheSkyX Serious Astronomer Edition" in the folder paths above.) - - Notes: - - TheSkyX has to be run at least once before TheSkyXInstallPath.txt exists. - - This convention is purposfully not dependent upon the Windows registry. - - TheSkyXInstallPath.txt is updated each time TheSkyX runs, so this convention still allows moving TheSkyX from one hard driver or folder to another. (Installsheild's HKLM\~\App\TheSkyX.exe registry convention is only written on install.) - - Here is a Windows script for determining the folder: - - Set WshShell = Wscript.CreateObject("Wscript.Shell")
- path=WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal")
- MsgBox path
- -*/ - -/*! \page x2changelog Change Log - - - 1.01 - Changed x2mount example to use TheSkyXFacadeForDriversInterface instead of deprecated TheSkyXFacadeForMountsInterface (interface identical). - - 1.02 - Added Mac make files for X2 examples. - - 1.03 - The ModalSettingsDialogInterface and SerialPortParams2Interface are no longer mutually exclusive. - - 1.04 - SerXInterface::open allows setting data bits. - - 1.05 - Filter wheel support, see FilterWheelDriverInterface. - - 1.06 - Documented \ref embeddeddevices. - - 1.07 - Updated \ref x2driverinstall. - - 1.08 - Made all x2 examples explicitly delete device driver tools (x2dome, x2filterwheel, x2mount, x2rotator did not). Published drivers should eventually follow suite to prevent a small memory leak when choosing different hardware. - - 1.09 - Updated LoggerInterface documentation. - - 1.10 - Documented and added X2Focuser example. - - 1.11 - TrackingRatesInterface documentation update. - - 1.13 - Updated documentation to use version 2 of the hardwarelist.txt (TheSkyX is backward compatible with version 1). - - 1.14 - TrackingRatesInterface documentation update. - - 1.15 - Made documentation for CameraDriverInterface::CCQueryTemperature clearer. - - 1.16 - Added HardwareModelOverrideInterface - - 1.17 - Minor documentation update. - - 1.18 - Added MultiConnectionDeviceInterface, PreExposureTaskInterface for cameras. - - 1.19 - Refresh. - - 1.20 - Added DriverSlewsToParkPositionInterface. - - 1.21 - Added CameraDependentSettingInterface, deprecated ExtendedCameraInterface. - -*/ - -/*! \page x2SharingASerialPort Sharing a Serial Port - Sharing a serial port - - See MultiConnectionDeviceInterface. -*/ - -/*! -\mainpage -

The X2 Standard

- -TheSkyX's Cross-Platform, Plug In, Device Driver Architecture
- -X2 Features - - -- Cross-platform (Windows/Mac/Linux) -- Based upon C++ standard. Minimum dependencies for easy portability/maintainability across operating systems. -- Smallest possible driver footprint. Only code specific to the hardware is in the driver, helpful cross platform interfaces are supplied (see \ref Tool). -- Qt is NOT required. Allows third parties to develop drivers independent of any cross-platform library. -- Suitable architecture for hardware manufacturers to rely upon for their native, device driver development. -- Consumable from most every programming language (thin operating system specific callable layering required). -- Architected upon the basic principles of object oriented programming namely encapsulation, polymorphism, and inheritance. - - Inheritance is used carefully where an interface (a C++ class with one or more pure virtual functions) purposefully hides implementation from caller (TheSkyX) minimizing dependencies while focusing the interface on one task. - - Keeps client (TheSkyX) code more managable. -- Modular in terms of levels of support. - - Can handle devices of a given kind with a broad range of capabilities without being plagued with a "CanXXX" for every property/method. - - Basic or "essence" support isn't plagued/complicated by "no op" stubs that must be re-implemented for devices that don't have such a capability. - - Flexible for adding a new capability not found in any other device in kind. Only the device with the new feature needs recompiled not all devices in kind. - - All other devices don't have to be brought up to the same level of support. - - Clients (TheSkyX) wanting to leverage new capability must of course be updated (recompiled) to take advantage of new capability. -- Easy to implement features in devices not up to superset. Clients (TheSkyX) compatible with superset automatically leverage new capability. -- Shows/provides a way (means) to evolve. -- Not a native "discovery" methodology (but discovery standard could be accommodated). -- Supports control of an open-ended number of devices (coming to TheSkyX) along with their persistence . - -Introduction - -One of the main goals of the X2 standard is to make it possible and easy for third parties to write and maintain their own hardware drivers compatible with TheSkyX -on all operating systems it supports. In addition, the X2 standard is by nature extensible, that is, it can grow at the optional, interface level without -all drivers or clients needing to be simultaneously brought up to the same level or even recompiled for that matter. - -\ref x2howto - -\ref x2driverinstall - -\ref x2changelog -*/ - -/*! -\brief The AsymmetricalEquatorialInterface for equtorial mounts. - -\ingroup Interface - -If a X2 mount driver implements this interface, the mount is an asymmetrical equtorial mount (e.g. GEM or cross-axis). -\sa SymmetricalEquatorialInterface -*/ - -class AsymmetricalEquatorialInterface -{ -public: - - virtual ~AsymmetricalEquatorialInterface(){} - - /*! - The default implementation returns the appropriate type of mount. - */ - MountTypeInterface::Type mountType(){return MountTypeInterface::Asymmetrical_Equatorial;} - - /*! - If knowsBeyondThePole() returns false, the mount - cannot distinguish unambiguosly if the OTA end of the declination axis - is either east or west of the pier. This somewhat restricts use of the - mount with TPoint - the mount must always have the OTA end of the declination - axis higher than the counterweights. In other words, the mount should not slew past the meridian. - */ - virtual bool knowsBeyondThePole() {return false;} - - /*! - If knowsBeyondThePole() returns true, - then beyondThePole() tells TheSkyX unambiguously - if the OTA end of the declination axis - is either east (0) or west of the pier (1). - Note, the return value must be correct even - for cases where the OTA end of the Dec axis - is lower than the counterweights. - */ - virtual int beyondThePole(bool& bYes){bYes=false; return 0;} - - /*! - Return the hour angle at which the mount automatically flips. - */ - virtual double flipHourAngle() {return 0;} - - /*! - Return the east and west hour angle limits. - */ - virtual int gemLimits(double& dHoursEast, double& dHoursWest){dHoursEast=dHoursWest=0;return 0;} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h deleted file mode 100644 index aefd259..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/linkfromuithreadinterface.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef _LinkFromUIThreadInterface_H -#define _LinkFromUIThreadInterface_H - -#define LinkFromUIThreadInterface_Name "com.bisque.TheSkyX.LinkFromUIThreadInterface/1.0" - -/*! -\brief The LinkFromUIThreadInterface allows X2 implementors to cause TheSkyX to call establishLink from the user interface thread. - -\ingroup Interface - -X2 implementors can implement this interface to have TheSky call establishLink() from the user interface thread instead of from a background thread by default. -This can simplify drivers that use Microsoft COM on Windows in their implementation . -There are no member functions to this interface, simply implemenenting it is sufficient. - -This only applies to mount drivers. - -\sa LinkInterface -*/ - -class LinkFromUIThreadInterface -{ -public: - - virtual ~LinkFromUIThreadInterface(){} - -public: - - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h deleted file mode 100644 index 844f9ad..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/mounttypeinterface.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _MountTypeInterface_H -#define _MountTypeInterface_H - -#define MountTypeInterface_Name "com.bisque.TheSkyX.MountTypeInterface/1.0" - -/*! -\brief The MountTypeInterface covers all possible mount types that X2 drivers can implement - -\ingroup Tool - -A Naïveté, object oriented architecture might insist upon a property common to all mounts, -namely mountType() (and even worse yet, setMountType() where -implementation might be difficult to dyanmically change from one type of mount to another. -Such a property leads to confusion for all methods and properties related -to the specific type of mount, and which ones apply and don't apply, etc. -In the X2 architecture, the related methods and properties are contained -in optional interfaces that each mount can support as needed. -In other words, X2 doesn't riddle the global scope with n number of stubs -for methods/properties that don't apply. - -Below are the related, mutually exclusive, interfaces when implemented dictate -the type of mount. -\sa SymmetricalEquatorialInterface -\sa AsymmetricalEquatorialInterface -*/ - -class MountTypeInterface -{ -public: - - virtual ~MountTypeInterface(){} - - /*! Mount Type */ - enum Type - { - Symmetrical_Equatorial, /**< e.g. fork, horseshoe or yoke */ - Asymmetrical_Equatorial,/**< e.g. GEM or cross-axis */ - AltAz, /**< Not yet natively supported */ - Unknown, /**< Unknown mount type */ - }; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h deleted file mode 100644 index 0c2c914..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/needsrefractioninterface.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _NeedsRefractionInterface_H -#define _NeedsRefractionInterface_H - - -#define NeedsRefractionInterface_Name "com.bisque.TheSkyX.NeedsRefractionInterface/1.0" - -/*! -\brief The NeedsRefractionInterface for mounts. - -\ingroup Interface - -Mounts that need refraction adjustments means coordinates returned by a -mount are tainted by refraction and the control system -does not do its own internal refraction adjustments. -For example, the Paramount and the Bisque TCS, return true -from this interface so TheSkyX can act accordingly. - -If a mount does its own, internal,refraction, this means -the coordinates returned from a mount have the effects of refraction removed. An example of such a mount is the Meade LX200. - -What this means under the hood, if an X2 mount object returns true to needsRefactionAdjustments() -1)Upon reading raDec, TheSkyX removes the effects of refraction so the "real" object's location is lower than where the mount is currently, physically pointing to in altitude through the atmosphere. -2)Before syncing a mount to a cataloged coordinate, (setting raDec) TheSkyX adds in the effects of refraction to the cataloged coordinate. This is opposite of #1 - in other words, on sync, intitialize the -control system so that when we read raDec and subsequently remove the effects of refraction, the coordinates are the "real" topocententric coordinates. - -Definintion - refraction is zero at zenith, max positive at horizon (a positive value) - -*/ -class NeedsRefractionInterface -{ -public: - - virtual ~NeedsRefractionInterface(){} - -public: - /*!Return true to have TheSkyX handle refraction, otherwise return false.*/ - virtual bool needsRefactionAdjustments(void) {return true;} - - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h deleted file mode 100644 index bf1f15c..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/openloopmoveinterface.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _OpenLoopMoveInterface_H -#define _OpenLoopMoveInterface_H - -#ifdef THESKYX_FOLDER_TREE -#include "imagingsystem/hardware/mountbridge/implementor/mountdriverinterface/mountdriverinterface.h"//For MoveDir -#else//TheSkyX X2 Plug In Build -#include "../mountdriverinterface.h"//For MoveDir -#endif - -//This might not be common - move to underneath MountBridge if specific to mounts - -#define OpenLoopMoveInterface_Name "com.bisque.TheSkyX.OpenLoopMoveInterface/1.0" - -/*! -\brief The OpenLoopMoveInterface allows a mount to move at a given rate for a open-ended amount of time. - -\ingroup Interface - -This interface is typically used by TheSkyX to allow a user-interface button to move the mount, where the mount -moves while the button is down, and the mount stops moving when the button is released. -*/ -class OpenLoopMoveInterface -{ -public: - - virtual ~OpenLoopMoveInterface(){} - -public: - /*!Start the open-loop move.*/ - virtual int startOpenLoopMove(const MountDriverInterface::MoveDir& Dir, const int& nRateIndex) = 0; - /*!End the open-loop move. This function is always called for every corresponding startOpenLoopMove(), allowing software implementations of the move.*/ - virtual int endOpenLoopMove(void) = 0; - - /*!Return true if the mount can be commanded to move in more than one perpendicular axis at the same time, otherwise return false.*/ - virtual bool allowDiagonalMoves() { return false;} - - //OpenLoopMove specifics - - /*! Return the number (count) of avaiable moves.*/ - virtual int rateCountOpenLoopMove(void) const = 0; - /*! Return a string along with the amount or size of the corresponding move.*/ - virtual int rateNameFromIndexOpenLoopMove(const int& nZeroBasedIndex, char* pszOut, const int& nOutMaxSize)=0; - /*! Return the current index of move selection. */ - virtual int rateIndexOpenLoopMove(void)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h deleted file mode 100644 index 68975a1..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/slewtointerface.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _SlewToInterface_H -#define _SlewToInterface_H - -#define SlewToInterface_Name "com.bisque.TheSkyX.SlewToInterface/1.0" - -/*! -\brief The SlewToInterface for mounts. - -\ingroup Interface - -If a X2 mount driver implements this interface, the mount is able to slew to a given RA, dec. -*/ -class SlewToInterface -{ -public: - - virtual ~SlewToInterface(){} - -public: - /*!Initiate the slew.*/ - virtual int startSlewTo(const double& dRa, const double& dDec) = 0; - /*!Called to monitor the slew process. \param bComplete Set to true if the slew is complete, otherwise return false.*/ - virtual int isCompleteSlewTo(bool& bComplete) const = 0; - /*!Called once the slew is complete. This is called once for every corresponding startSlewTo() allowing software implementations of gotos.*/ - virtual int endSlewTo(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h deleted file mode 100644 index 416957e..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/symmetricalequatorialinterface.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _SymmetricalEquatorialInterface_H -#define _SymmetricalEquatorialInterface_H - -#include "mounttypeinterface.h" - -#define SymmetricalEquatorialInterface_Name "com.bisque.TheSkyX.SymmetricalEquatorialInterface/1.0" - -/*! -\brief The SymmetricalEquatorialInterface for equtorial mounts. - -\ingroup Interface - -This is the default mount type (i.e. an equatorial fork) no implementation is necessary. -\sa AsymmetricalEquatorialInterface -*/ - -class SymmetricalEquatorialInterface -{ -public: - - virtual ~SymmetricalEquatorialInterface(){} - - /*!The default implemtnation returns the appropriate type of mount.*/ - MountTypeInterface::Type mountType(){return MountTypeInterface::Symmetrical_Equatorial;} - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h deleted file mode 100644 index 77d1501..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/syncmountinterface.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _SyncMountInterface_H -#define _SyncMountInterface_H - -#define SyncMountInterface_Name "com.bisque.TheSkyX.SyncMountInterface/1.0" - -/*! -\brief The SyncMountInterface for mounts. - -\ingroup Interface - -If a X2 mount driver implements this interface, the mount is able to "synced" and have -its internal RA and declination set to particular values. -*/ -class SyncMountInterface -{ -public: - - virtual ~SyncMountInterface(){} - -public: - /*!Set the mount internal RA and declination.*/ - virtual int syncMount(const double& ra, const double& dec) = 0; - /*!Always return true. If possible, return false when appropriate, if and only if the mount hardware has the ability to know if it has been synced or not.*/ - virtual bool isSynced() =0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h deleted file mode 100644 index 75b6907..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mount/trackingratesinterface.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _TrackingRatesInterface_H -#define _TrackingRatesInterface_H - -#define TrackingRatesInterface_Name "com.bisque.TheSkyX.TrackingRatesInterface/1.0" - -/*! -\brief The TrackingRatesInterface allows X2 mounts to support variable tracking rates. - -\ingroup Interface - -*/ -class TrackingRatesInterface -{ -public: - - virtual ~TrackingRatesInterface(){} - -public: - - /*!Set the tracking rates. - - By nature the TrackingRatesInterface is for mounts the can support variable tracking rates. There are mounts that only have two rates, sidereal rate and off. - A workaround to accomodate these mounts would be to respond only to those two particular cases of setTrackingRates (to see these cases, on the Telescope Tab, - Tools, Turn Sidereal Tracking On and Turn Tracking Off). Otherwise return ERR_COMMANDNOTSUPPORTED for rates that the mount isn't capable of, like - tracking a asteroid, comet, etc. */ - virtual int setTrackingRates( const bool& bTrackingOn, const bool& bIgnoreRates, const double& dRaRateArcSecPerSec, const double& dDecRateArcSecPerSec)=0; - - /*!Turn off tracking. Provided for convenience, merely calls setTrackingRates() function.*/ - virtual int trackingOff() - { - return setTrackingRates( false, true, 0.0, 0.0); - } - /*!Turn on sidereal tracking. Provided for convenience, merely calls setTrackingRates() function.*/ - virtual int siderealTrackingOn() - { - return setTrackingRates( true, true, 0.0, 0.0); - } - - /*!Return the current tracking rates. - - A special case for mounts that can set rates, but not read them... - So the TheSkyX's user interface can know this, set bTrackingOn=false and return both rates as -1000.0. - - Another special case convention, for mounts that can read rates, if bTrackingOn=false and the rates are 15.0410681 +- 0.00001 for ra - and 0 +- 0.00001 for dec, TheSkyX's mount status will say 'Tracking off'*/ - virtual int trackingRates( bool& bTrackingOn, double& dRaRateArcSecPerSec, double& dDecRateArcSecPerSec)=0; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h deleted file mode 100644 index e6910a4..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mountdriverinterface.h +++ /dev/null @@ -1,139 +0,0 @@ -#if !defined(_MountDriverInterface_H_) -#define _MountDriverInterface_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" -#include "imagingsystem/hardware/interfaces/licensed/mount/needsrefractioninterface.h" -#else//TheSkyX Plug In Build -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#include "../../licensedinterfaces/mount/needsrefractioninterface.h" -#endif - -/*! -\brief The MountDriverInterface allows an X2 implementor to a write X2 mount driver. - -\ingroup Driver - -See the X2Mount for an example. -*/ -class MountDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface, public NeedsRefractionInterface -{ -public: - /*! MotorState, Paramount only.*/ - enum MotorState - { - MKS_MOTOR_HOMING =(0x0100), - MKS_MOTOR_SERVO =(0x0200), - MKS_MOTOR_INDEXING =(0x0400), - MKS_MOTOR_SLEWING =(0x0800), - MKS_MOTOR_HOMED =(0x1000), - MKS_MOTOR_JOYSTICKING =(0x2000), - MKS_MOTOR_OFF =(0x4000), - MKS_MOTOR_MOVING = (MKS_MOTOR_HOMING | MKS_MOTOR_SLEWING | MKS_MOTOR_JOYSTICKING), - - }; - - /*!Axis, Parmamount only.*/ - enum Axis - { - AXIS_RA = 0, - AXIS_DEC = 1, - }; - - /*!Move direction.*/ - enum MoveDir - { - MD_NORTH = 0, - MD_SOUTH = 1, - MD_EAST = 2, - MD_WEST = 3, - }; - - /*!MoveRate, Parmamount only.*/ - enum MoveRate - { - MR_FLASH = -2, - MR_BASE = -1, - MR_0R5X = 0, - MR_1X = 1, - MR_2X = 2, - MR_4X = 3, - MR_8X = 4, - MR_16X = 5, - MR_32X = 6, - MR_64X = 7, - MR_128X = 8, - MR_256X = 9, - MR_SLEW = 10, - }; - -public: - virtual ~MountDriverInterface(){} - -public: - -// Operations -public: - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_MOUNT;} - 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; - virtual bool isEstablishLinkAbortable(void) const {return false;} - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; - virtual double driverInfoVersion(void) const = 0; - //@} - - // - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; - virtual void deviceInfoModel(BasicStringInterface& str) = 0; - //@} - - //NeedsRefractionInterface - //Don't forget, each mount implementation must return type cast in queryAbstraction - /*! Return true if the mount wants TheSkyX to handle refraction if and only if the mount itself does not internally handle refraction.*/ - virtual bool needsRefactionAdjustments(void) {return true;} - - /*! Return the mechanical or raw right ascension and declination coordinates of the mount. - \param dRawRA is the right ascension coordinate of the mount from 0 to 24. - \param dRawDec is the declination coordinate of the mount from -90 to +90. - \param bCached may be ignored. - \sa NeedsRefractionInterface for clarity on what is meant by "mechanical or raw" coordinates.*/ - virtual int raDec(double& dRawRA, double& dRawDec, const bool& bCached = false) = 0; - /*! Abort any operation currently in progress.*/ - virtual int abort(void) = 0; - -// Implementation -private: - - - -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h deleted file mode 100644 index 6310155..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/multiconnectiondeviceinterface.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef _MultiConnectionDeviceInterface_H -#define _MultiConnectionDeviceInterface_H - -#define MultiConnectionDeviceInterface_Name "com.bisque.TheSkyX.MultiConnectionDeviceInterface/1.0" - -class BasicStringInterface; - - -/*! -\brief This optional interface, MultiConnectionDeviceInterface, provides X2 implementors a way to make x2 drivers that support -the capacity to accept multiple connections simultaneously without error or conflict (such as multi-device hubs). - -All x2 hardware devices, except cameras, can be made to work with the MultiConnectionDeviceInterface. The MultiConnectionDeviceInterface is -fairly generic solution and allows the sharing of any kinds of interfaces. A common use of this interface is to share a serial port between x2 drivers, -in which case the SerXInterface and it's corresponding IO MutexInterface (namely m_pSerX and m_pIOMutex typically found in x2 examples) are shared -between x2 drivers. Sufficiently motivated and experienced developers should be able to use this to control any kind of shared multi-device interface between -the same kind of devices or even with different devices. - -Some concepts: -- All drivers contain a 'resource' of some kind that allows a connection to their device. - Every instance of the driver that's created should have a copy of this resource. -- The first driver to establish a connection will have their resource copy become active. - Subsequent instances of the driver will have inactive copies of the resource -- Drivers with inactive resources will have a reference to the 'active' resource singleton for device interaction. -- While any drivers are connected, the active reference shall not be closed nor destroyed. TheSkyX will ensure this - by directing the driver holding the active resource to 'trade' it with a driver instance that's remaining active - before the link is terminated. -- This interface leverages and is built on top of the standard LinkInterface which TheSkyX uses as a means to connect/disconnect from all x2 drivers. - -Note, this interface is in use in the field and works for the Optec Lynx Focuser (LynxPlugIn, example code snippets below) where two focusers, one for imager, one for autoguider, -share the same serial port, yet are implemented as two instances of the same dll as the imager focuser and the autoguider focuser in TheSkyX. - -Effectively this interface makes it possible for x2 drivers to share a pointer to a resource or resources between -x2 drivers. The LynxPlugIn shares the SerXInterface and MutexInterface but its not necessarily limited to those pointers nor -devices in kind (for example, a mount could share its usb connection with a focuser). - -Keep in mind that TheSkyX will interface with this driver across different threads, so take care that any calls into a connection resource -must be made thread-safe (usually by also sharing the IO MutexInterface as well). - -Implementing this interface should only be attempted after successfully creating x2 drivers that properly work when connecting to -the resource standalone without sharing. If the case where the driver is used stand alone doesn't function properly there is no possible way -a MultiConnectionDeviceInterface implementation is going to work. In fact, the stand alone case will always be the place to turn -when trouble shooting any problems with this interface. IOW, get the two or more x2 drivers to work stand alone without this interface, and -then a MultiConnectionDeviceInterface implementation will work identially except sharing the desired resource(s). When implementing -this interface for the case of sharing a serial port, basically the correct m_pSerX and m_pIOMutex are put inplace (almost) tranparently to -the x2 driver. - -For this interface to function, TheSkyX build 6812 or later released Thursday March 21, 2013 is required. Earlier builds simply ignore -this interface and sharing resoures is not possible. - -See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements. - -\ingroup Interface - -*/ -class MultiConnectionDeviceInterface -{ -protected: - int m_nInstanceCount; - -public: - /*!Since drivers implementing this interface behave like "normal" (they don't share a resource) when m_nInstanceCount is 1, this default - constructor allows earlier builds of TSX to run these drivers even if the actual interface isn't implemented.*/ - MultiConnectionDeviceInterface() - { - m_nInstanceCount = 1; - } - - /*!Implementors should return a string identifier unique to this specific physical device or known connection sharing setup. - If multiple instances of the driver are in use, drivers that return identical identifiers will be treated as if they - represent connections to the same physical device. Drivers returning different identifier strings will - continue to be treated as separate pieces of hardware. - - Drivers also implementing SerXInterface will additionally be checked by TheSkyX to see if they share the same - serial port (or TCP/IP address and port combination) or not and act accordingly. - - Here is example code from the LynxPlugIn driver: - \snippet lynxplugin.cpp deviceIdentifier - - */ - virtual int deviceIdentifier(BasicStringInterface &sIdentifier) = 0; - - - /*! TheSkyX will call this function once immediately before LinkInterface::establishLink(), then again any time the number of - drivers connecting to the same physical device as this one changes. If this is the first driver connecting - to the device, nInstanceCount will be 1. No driver will ever see a '0' value. - - This function can be implemented in order to perform any additional initialization that may be necessary - when the first connection is established. - */ - virtual int setInstanceCount(const int &nInstanceCount) - { - m_nInstanceCount = nInstanceCount; - return 0; - } - - /*! Although some devices may support multiple connections, they may not support them in unlimited numbers. TheSkyX will - call this function before a connection attempt is made to allow the driver to determine if it will be able to successfully attach - to the shared resource. - - For example, a camera/filter wheel combination device may support one camera connection and one filter wheel - device simultaneously. If the peer array already contains both a camera and a filter wheel, bConnectionPossible should be set to false. - - Here is example code from the LynxPlugIn driver: - \snippet lynxplugin.cpp isConnectionPossible - */ - virtual int isConnectionPossible(const int &nPeerArraySize, MultiConnectionDeviceInterface **ppPeerArray, bool &bConnectionPossible) = 0; - - /*! - If the driver determines that a connection is possible, TheSkyX will call this function tell the driver which of its peers - holds the resource that should be used to connect. pPeer will be equal to the 'this' pointer for the first driver to connect. - - Here is example code from the LynxPlugIn driver: - \snippet lynxplugin.cpp useResource - */ - virtual int useResource(MultiConnectionDeviceInterface *pPeer) = 0; - - /*! - TheSkyX will call this function on the driver controlling the active resource immediately before the driver is disconnected. The - driver should 'swap' its (active) resource with the inactive one held by its peer. In this way, the active resource may remain - active without interruption when this instance's link is terminated. - Here is example code from the Lynx driver: - \snippet lynxplugin.cpp swapResource - */ - virtual int swapResource(MultiConnectionDeviceInterface *pPeer) = 0; -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mutexinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mutexinterface.h deleted file mode 100644 index 7b169e7..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/mutexinterface.h +++ /dev/null @@ -1,60 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h deleted file mode 100644 index eb86743..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/noshutterinterface.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _NoShutterInterface_H -#define _NoShutterInterface_H - -#define NoShutterInterface_Name "com.bisque.TheSkyX.NoShutterInterface/1.0" - -/*! -\brief The NoShutterInterface allows camera drivers to report to TheSkyX if a camera does not have a shutter, primarily for use in the acquisition of dark frames. - -\ingroup Interface - -This interface is optional. By default, TheSkyX assumes a camera has a shutter and if that is true this interface isn't important. The NoShutterInterface allows -camera drivers to report to TheSkyX if a camera does not have a shutter. Camera drivers implementing this interface and returning 'false' for bHasShutter when queried -for shutter will cause TheSkyX to prompt the user to manually cover their telescope for all dark frames. - -The NoShutterInterface can even return true for bHasShutter allowing for unified code for single x2 drivers that support multiple camera models, with and without shutters. - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class NoShutterInterface -{ -public: - - virtual ~NoShutterInterface(){} - -public: - //NoShutterInterface - /*!TheSkyX calls this function to query the driver reguarding the existance of its controlled camera's shutter.*/ - virtual int CCHasShutter(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, bool &bHasShutter)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h deleted file mode 100644 index 4e87d5e..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/parkinterface.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _ParkInterface_H -#define _ParkInterface_H - -#define ParkInterface_Name "com.bisque.TheSkyX.ParkInterface/1.0" - -/*! -\brief The ParkInterface allows domes and mounts to be parked. - -\ingroup Interface - -This interface is optional. At this time TheSkyX only queries domes and mounts for implementation of this interface. -In the future, other devices may be queried for implementation of this interface if and when parking ever exists on these devices. - -\sa UnparkInterface -*/ -class ParkInterface -{ -public: - - virtual ~ParkInterface(){} - -public: - - /*!Return true if the device is parked.*/ - virtual bool isParked(void) {return false;} - /*!Initiate the park process.*/ - virtual int startPark(const double& dAz, const double& dAlt)= 0; - /*!Called to monitor the park process. \param bComplete Set to true if the park is complete, otherwise set to false.*/ - virtual int isCompletePark(bool& bComplete) const = 0; - /*!Called once the park is complete. This is called once for every corresponding startPark() allowing software implementations of park.*/ - virtual int endPark(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h deleted file mode 100644 index 1734791..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/pixelsizeinterface.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _PixelSizeInterface_H -#define _PixelSizeInterface_H - -#define PixelSizeInterface_Name "com.bisque.TheSkyX.PixelSizeInterface/1.0" - -/*! -\brief The PixelSizeInterface allows camera drivers to provide the physical pixel size in microns. - -\ingroup Interface - -This interface is optional. TheSkyX queries cameras for implementation of this interface -and if supported will populate the FITS header with the returned pixel size. Don't forget to -respond accrodingly in queryAbstraction(). TheSkyX will only query for this inteferface -after successfully connecting to the camera with CCEstablishLInk(). - -Drivers should always return the size of the pixel in 1x1 binning and in microns. When -populating the FITS header, TheSkyX will adjust the size according to the bin mode -in effect. -*/ - -class PixelSizeInterface -{ -public: - - virtual ~PixelSizeInterface(){} - -public: - //PixelSizeInterface - /*!Return the physical pixel size in 1x1 binning and in microns.*/ - virtual int PixelSize1x1InMicrons(const enumCameraIndex& Camera, const enumWhichCCD& CCD, double& x, double& y)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h deleted file mode 100644 index e46945f..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/preexposuretaskinterface.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _PreExposureTaskInterface_H -#define _PreExposureTaskInterface_H - -#define PreExposureTaskInterface_Name "com.bisque.TheSkyX.PreExposureTaskInterface/1.0" - -/*! -\brief The PreExposureTaskInterface gives cameras a way to inform TheSkyX when executing CameraDriverInterface::CCStartExposure -will take longer than dExposureDuration. - -\ingroup Interface - -This interface is optional. By default, when an exposure is triggered, TheSkyX will display a countdown showing when the -exposure duration set by the user has ellapsed. However, many cameras have additional functions (such as RBI, mirror lock, etc) -that can cause the process of taking an image to take substantially longer than the exposure itself. - -Implementing this interface provides camera driver producers a way to cause TheSkyX to display additional progress bars -before the actual 'exposure' progress bar. - -Note that TheSkyX will continue to rely on CCIsExposureComplete to determine when an exposure has actually finished, any times -reported by this interface will be used for display purposes only. Implementing this interface does NOT change the actual sequence -of events that take place during an exposure, but can provide useful feedback to the user. - -There are two types of preexposure task that this interface deals with independantly: -Type 1) Blocking tasks that must take place before CCStartExposure begins -Type 2) Nonblocking tasks that occur after CCStartExposure begins, but while CCIsExposureComplete is "false" - -Don't forget to respond accordingly in your queryAbstraction(). - -*/ - -class PreExposureTaskInterface -{ -public: - - virtual ~PreExposureTaskInterface(){} - -public: - //PreExposureTaskInterface - - /* These functions provide status text for Type (1) pre-exposure tasks that take place BEFORE CCStartExposure is called. */ - - /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ - virtual int CCGetBlockingPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ - virtual int CCGetBlockingPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, BasicStringInterface &sName)=0; - - /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ - virtual int CCExecuteBlockingPreExposureTask(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex)=0; - - /* These functions provide status text for Type (2) pre-exposure tasks that take place AFTER CCStartExposure is called */ - - /*!TheSkyX calls this function to query the number of pre-exposure tasks that will be executed before the exposure duration countdown.*/ - virtual int CCGetPreExposureTaskCount(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, int &nCount)=0; - - /*!TheSkyX calls this function to query the name of the task (to be displayed above the progress bar), and the expected duration of the task. */ - virtual int CCGetPreExposureTaskInfo(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int nIndex, double &dDuration, BasicStringInterface &sName)=0; - - /*For cameras that also implement ExtendedCameraInterface, this function will be called to let the camera know which additional argument index will be used - Cameras without this interface may leave the provided default implementation as-is*/ - virtual int CCSetAdditionalArgInterface(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int &nIndex) { return 0 /*SB_OK*/; } -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h deleted file mode 100644 index c957bd3..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/rotatordriverinterface.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _RotatorDriverInterface_H -#define _RotatorDriverInterface_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 "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/linkinterface.h" -#include "../../licensedinterfaces/deviceinfointerface.h" -#include "../../licensedinterfaces/driverinfointerface.h" -#endif - -class BasicStringInterface; - -/*! -\brief The RotatorDriverInterface allows an X2 implementor to a write X2 rotator driver. - -\ingroup Driver - -See the X2Rotator for an example. -*/ -class RotatorDriverInterface : public DriverRootInterface, public LinkInterface, public HardwareInfoInterface, public DriverInfoInterface -{ -public: - virtual ~RotatorDriverInterface(){} - - /*!\name DriverRootInterface Implementation - See DriverRootInterface.*/ - //@{ - virtual DeviceType deviceType(void) {return DriverRootInterface::DT_ROTATOR;} - virtual int queryAbstraction(const char* pszName, void** ppVal) = 0; - //@} - - /*!\name DriverInfoInterface Implementation - See DriverInfoInterface.*/ - //@{ - virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0; - virtual double driverInfoVersion(void) const = 0; - //@} - - // - /*!\name HardwareInfoInterface Implementation - See HardwareInfoInterface.*/ - //@{ - virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0; - virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0; - virtual void deviceInfoDetailedDescription(BasicStringInterface& str) const = 0; - virtual void deviceInfoFirmwareVersion(BasicStringInterface& str) = 0; - virtual void deviceInfoModel(BasicStringInterface& str) = 0; - //@} - - /*!\name LinkInterface Implementation - See LinkInterface.*/ - //@{ - virtual int establishLink(void) = 0; - virtual int terminateLink(void) = 0; - virtual bool isLinked(void) const = 0; - virtual bool isEstablishLinkAbortable(void) const {return false;} - //@} - - /*!Return the position of the rotator.*/ - virtual int position(double& dPosition) = 0; - /*!Abort any operation in progress.*/ - virtual int abort(void) = 0; - - /*!Initiate the rotator goto.*/ - virtual int startRotatorGoto(const double& dTargetPosition) = 0; - /*!Called to moitor the goto process. \param bComplete Set to true if the goto is complete, otherwise set to false.*/ - virtual int isCompleteRotatorGoto(bool& bComplete) const = 0; - /*!Called after the goto process is complete. This is called once for every corresponding startRotatorGoto() allowing software implementations of gotos.*/ - virtual int endRotatorGoto(void) = 0; - - -}; - - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sberrorx.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sberrorx.h deleted file mode 100644 index fb8ca69..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sberrorx.h +++ /dev/null @@ -1,499 +0,0 @@ -//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/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h deleted file mode 100644 index 07c357c..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serialportparams2interface.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _SerialPortParams2Interface_H -#define _SerialPortParams2Interface_H - -#ifdef THESKYX_FOLDER_TREE -#include "../staticlibs/serx/serxinterface.h" -#include "components/basicstring/basicstringinterface.h" -#elif X2_FLAT_INCLUDES -#include "serxinterface.h" -#include "basicstringinterface.h" -#else -#include "../../licensedinterfaces/serxinterface.h" -#include "../../licensedinterfaces/basicstringinterface.h" -#endif - -#define SerialPortParams2Interface_Name "com.bisque.TheSkyX.SerialPortParams2Interface/1.0" - -/*! -\brief The SerialPortParams2Interface is a cross-platform interface to common serial port parameters. - -\ingroup Interface - -For serial devices, implementing this interface causes TheSkyX to display a general serial port -settings user interface for setting serial port parameters. -This does not encompass all serial port parameters for all operating systems, but does cover the -most common serial port settings applied to astronomical hardware. - -New to TheSkyX Version 10.1.10 (build 4443 and later) a "More Settings" button appears on TheSkyX's -general "Serial Port Settings" dialog if the underlying X2 driver also implements the ModalSettingsDialogInterface. -This allows X2 drivers to leverage TheSkyX's general "Serial Port Settings" dialog while also having -a custom user interface that is displayed when the "More Settings" button is pressed. -In prior TheSkyX builds, the ModalSettingsDialogInterface and SerialPortParams2Interface -where mutually exclusive but that is no longer the case and X2 implementor don't need to duplicate -the serial port settings in their custom user interface. -*/ - -class SerialPortParams2Interface -{ -public: - - virtual ~SerialPortParams2Interface(){} - -public: - /*!Return serial port name as a string.*/ - virtual void portName(BasicStringInterface& str) const = 0; - /*!Set the serial port name as a string.*/ - virtual void setPortName(const char* szPort) = 0; - - /*!Return the buad rate.*/ - virtual unsigned int baudRate() const = 0; - /*!Set the baud rate.*/ - virtual void setBaudRate(unsigned int) = 0; - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isBaudRateFixed() const = 0; - - /*!Return the parity.*/ - virtual SerXInterface::Parity parity() const = 0; - /*!Set the parity.*/ - virtual void setParity(const SerXInterface::Parity& parity)= 0; - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isParityFixed() const = 0;//Generic serial port ui will hide if fixed - - /*!Return the number of data bits.*/ - virtual int dataBits() const {return 8;} - /*!Set the number of data bits.*/ - virtual void setDataBits(const int& nValue){(void)nValue;} - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isDataBitsFixed(){return true;} - - /*!Return the number of stop bits.*/ - virtual int stopBits() const {return 1;} - /*!Set the number of stop bits.*/ - virtual void setStopBits(const int& nValue){(void)nValue;} - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isStopBitsFixed(){return true;} - - /*!Return the flow control. Zero means no flow control.*/ - virtual int flowControl() const {return 0;} - /*!Set the flow control.*/ - virtual void setFlowControl(const int& nValue){(void)nValue;} - /*!Return if the parameter is fixed or not. The general user interface will hide this parameter if it is fixed.*/ - virtual bool isFlowControlFixed(){return true;} -}; - -#endif diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serxinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serxinterface.h deleted file mode 100644 index b433982..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/serxinterface.h +++ /dev/null @@ -1,112 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/sleeperinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sleeperinterface.h deleted file mode 100644 index 4d0f9e1..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/sleeperinterface.h +++ /dev/null @@ -1,23 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h deleted file mode 100644 index f920c83..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/subframeinterface.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _SubframeInterface_H -#define _SubframeInterface_H - -#define SubframeInterface_Name "com.bisque.TheSkyX.SubframeInterface/1.0" - -/*! -\brief The SubframeInterface allows camera drivers to enable subframe support. - -\ingroup Interface - -This interface is optional. TheSkyX queries camera drivers for implementation of this interface -and if supported the user interface in TheSkyX for taking subframe images from cameras is enabled. -Don't forget to respond accordingly in your queryAbstraction(). - -Warning, this interface represents a new, different and mutually exlusive implementation of -CameraDriverInterface::CCSetBinnedSubFrame(). The initial release of TheSkyX didn't allow subframes, however, the -CameraDriverInterface did have the CCSetBinnedSubFrame() and it was called. - -As of build 6200, TheSkyX supports camera subframes (along with autoguiding). To avoid the possibility of breaking existing x2 camera drivers that -may have utilized the information TheSkyX sent in the original call to CameraDriverInterface::CCSetBinnedSubFrame() and or -were never tested with different subframe sizes, implementation of this SubframeInterface is required to enable subframes. -This way published drivers cannot be "broken" and those drivers will have to be "upgraded" to allow subframe support in TheSkyX. - -Please note, CCSetBinnedSubFrame3 call below is different because the last two parameters are -width and height instead of bottom and right as in the original CCSetBinnedSubFrame(). - -If published drivers actually use the information sent by TheSkyX's original call to -CameraDriverInterface::CCSetBinnedSubFrame(), in order to maintain backward compatibility with older -versions of TheSkyX, drivers will still need to work with the old call CCSetBinnedSubFrame() -plus going forward, implement this SubframeInterface. - -*/ - -class SubframeInterface -{ -public: - - virtual ~SubframeInterface(){} - -public: - //SubframeInterface - /*!TheSkyX calls this fuunction to give the driver the size of the subframe in binned pixels. If there is no subframe, the size represents the entire CCD. - For example, a CCD chip that has a width of 1500 pixels and a height of 1200 will have 0,0,1500,1200 for left, top, nWidth, nHeight.*/ - virtual int CCSetBinnedSubFrame3(const enumCameraIndex& Camera, const enumWhichCCD& CCDOrig, const int& nLeft, const int& nTop, const int& nWidth, const int& nHeight)=0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/theskyxfacadefordriversinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/theskyxfacadefordriversinterface.h deleted file mode 100644 index 09d4406..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/theskyxfacadefordriversinterface.h +++ /dev/null @@ -1,84 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/tickcountinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/tickcountinterface.h deleted file mode 100644 index 3117837..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/tickcountinterface.h +++ /dev/null @@ -1,30 +0,0 @@ -#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/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h deleted file mode 100644 index 7a2a6b5..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/unparkinterface.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _UnparkInterface_H -#define _UnparkInterface_H - -#define UnparkInterface_Name "com.bisque.TheSkyX.UnparkInterface/1.0" - -/*! -\brief The UnparkInterface allows domes and mounts to be unparked. - -\ingroup Interface - -At this time TheSkyX only queries domes and mounts for implementation of this interface. -In the future, other devices may be queried for implementation of this interface if and when unparking ever exists on these devices. -This interface is optional. - -\sa ParkInterface -*/ - -class UnparkInterface -{ -public: - - virtual ~UnparkInterface(){} - -public: - /*!Initiate the park process.*/ - virtual int startUnpark(void) = 0; - /*!Called to monitor the unpark process. \param bComplete Set to true if the unpark is complete, otherwise set to false.*/ - virtual int isCompleteUnpark(bool& bComplete) const = 0; - /*!Called once the unpark is complete. This is called once for every corresponding startUnpark() allowing software implementations of unpark.*/ - virtual int endUnpark(void) = 0; - -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h b/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h deleted file mode 100644 index 980f64d..0000000 --- a/domehunter/protos/example_domepro_driver/x2/licensedinterfaces/x2guiinterface.h +++ /dev/null @@ -1,239 +0,0 @@ -#ifndef _X2GUIInterface_H -#define _X2GUIInterface_H - -#define X2GUIInterface_Name "com.bisque.TheSkyX.X2GUIInterface/1.0" - -#ifdef THESKYX_FOLDER_TREE -#include "driverrootinterface.h" -#include "components/theskyxfacadefordrivers/theskyxfacadefordriversinterface.h" -#else -#include "../../licensedinterfaces/driverrootinterface.h" -#include "../../licensedinterfaces/theskyxfacadefordriversinterface.h" -#endif - -/*! -\ingroup GUI - -\brief The X2GUIExchangeInterface provides the X2 developer the means to get and set data from a graphical user interface (X2GUIInterface) - -The X2GUIInterface returns this interface so X2 developer can set/get data from a X2GUIInterface. - -*/ -class X2GUIExchangeInterface -{ -public: - - virtual ~X2GUIExchangeInterface (){} - -public: - /*! Call this to set text user interface control values*/ - virtual void setText(const char* pszObjectName, const char* pszValue) = 0; - /*! Retreive the text values from user interface controls*/ - virtual void text(const char* pszObjectName, char* pszOut, const int& nOutMaxSize) = 0; - - /*! Enable the user interface control*/ - virtual void setEnabled(const char* pszObjectName, const bool& bEnabled) = 0; - /*! See if the user interface control is enabled*/ - virtual bool isEnabled(const char* pszObjectName) = 0; - - /*! Set the current index on list type user interface controls, like a combo box.*/ - virtual void setCurrentIndex(const char* pszObjectName, const int & nValue) = 0; - /*! Get the current index on list type user interface controls, like a combo box.*/ - virtual int currentIndex(const char* pszObjectName) = 0; - - /*! Check a user interface controls, like a radio button.*/ - virtual void setChecked(const char* pszObjectName, const int & nValue) = 0; - /*! Get if a user interface controls is checked, like a radio button.*/ - virtual int isChecked(const char* pszObjectName) = 0; - - /*! Append a string to a combo box list.*/ - virtual void comboBoxAppendString(const char* pszControlName, const char* pszValue) = 0; - - /*! Set the text of a table widget.*/ - virtual void tableWidgetSetItem(const char* pszControlName, const int& nRow, const int& nCol, const char* pszValue) = 0; - /*! Get the text of a table widget.*/ - virtual void tableWidgetGetItem(const char* pszControlName, const int& nRow, const int& nCol, char* pszValue, const int& nOutMaxSize) = 0; - /*! Get the current row of a table widget.*/ - virtual void tableWidgetCurrentRow(const char* pszControlName, int& nRow) = 0; - /*! Get the current column of a table widget.*/ - virtual void tableWidgetCurrentCol(const char* pszControlName, int& nCol) = 0; - /*! Remove a row of a table widge.t*/ - virtual void tableWidgetRemoveRow(const char* pszControlName, const int& nRow) = 0; - /*! Remove a column of a table widget.*/ - virtual void tableWidgetRemoveCol(const char* pszControlName, const int& nCol) = 0; - - /*! Display a message box.*/ - virtual void messageBox(const char* pszTitle, const char* pszMessage) = 0; - - /*! Call an arbitrary method (signal or slot, not properties) with no argument or one argument (double, int or string)*/ - virtual bool invokeMethod(const char* pszObjectName, const char* pszMethodName, - char* pszReturn=NULL, const int& nReturnMaxSize=0, - const char* pszArg1=NULL)=0; - - /*! Set a text property of a user inteface control.*/ - virtual void setPropertyString(const char* pszObjectName, const char* pszPropertyName, const char* pszValue) = 0; - /*! Get a text property of a user inteface control.*/ - virtual void propertyString(const char* pszObjectName, const char* pszPropertyName, char* pszOut, const int& nOutMaxSize) = 0; - - /*! Set an integer property of a user inteface control.*/ - virtual void setPropertyInt(const char* pszObjectName, const char* pszPropertyName, const int & nValue) = 0; - /*! Get an integer property of a user inteface control.*/ - virtual void propertyInt(const char* pszObjectName, const char* pszPropertyName, int& nValue) = 0; - - /*! Set an double property of a user inteface control.*/ - virtual void setPropertyDouble(const char* pszObjectName, const char* pszPropertyName, const double& dValue) = 0; - /*! Get an double property of a user inteface control.*/ - virtual void propertyDouble(const char* pszObjectName, const char* pszPropertyName, double& dValue) = 0; -}; - -#define X2GUIEventInterface_Name "com.bisque.TheSkyX.X2GUIEventInterface/1.0" -/*! -\ingroup GUI - -\brief The X2UIEventsInterface notifies X2 implementors when user interface events happen. - -X2 implementors can implement this interface to be notified when user interface events happen. -*/ -class X2GUIEventInterface -{ -public: - - /*! Take what ever action is necessary when a user interface event happens, for example, the user pressed a button. \param pszEvent The name of the event that occured following the convention "on__".*/ - virtual void uiEvent(X2GUIExchangeInterface* uiex, const char* pszEvent)=0; - -}; - -/*! -\ingroup GUI - -\brief The X2GUIInterface allows X2 implementors to display a customized, cross platform, graphical user interface. - -TheSkyX Build 4174 or later is required for all X2GUI type interfaces. - -When making a graphical user interface associated with a cross platform device driver, the developer is faced with basically two options. - -Option A: the developer could write and maintain native GUI code specific to each operating system. While this is a perfectly valid -solution, the code is difficult to maintain and native GUI expertise/experience is required on all supported operating systems. - -Option B: the developer could use a cross platform graphical user interface library, for -example qt or wxWidgets, to make their graphical user interface. Again a perfectly valid solution, but then the distribution of -any associated GUI libraries falls on the driver developer and if not done carefully, dll $#&& will result (especially in a plug in -architecture). - -Option C: The X2 standard offers a third option when a driver developer is faced with the problem of creating custom graphical user interface -associated with the hardware, that works on multiple operating systems. -X2 developer can use the X2GUIInterface to have TheSky display their own, modal, custom, graphical user interface that is cross platform. -The X2GUIInterface is windowing library agnostic, it does not expose or depend on any cross platform GUI library or windowing code -native to any operating system. The consequence is that X2 drivers using the X2GUIInterface are more or less encapsulated -as far as the GUI goes. So development, distribution and maintenance are greatly simplified. There is of course some overhead in learning the -X2GUIInterface, but the code samples show how to do it. - -The X2GUIInterface requires creating the graphical user interface file with qt's Designer (an open source copy of -Designer (designer.exe) is included in the X2 samples in the footer). The X2 developer distributes -the .ui created by Designer and TheSkyX loads this user interface dynamically at run time. Graphical user interface events are -supported through the X2GUIEventInterface. Qt's Designer is only required at design time by the X2 developer for the creation -of the X2 user interface. The X2 developer does not need to worry about distribution of any qt binaries at run time because -X2 is not dependent upon qt. Please note that the .ui created in this way is considered open source and since the -.ui is visible in TheSkyX anyway there isn't much intellectual property disclosed. - -There are a few rules when using qt's Designer to create a .ui file compatible with X2GUIInterface: - --# All controls must be placed within a QFrame, promoted to an X2Form via the x2form.h and named X2Form (code samples do this for you). --# If you need access to GUI events through the X2GUIEventInterface, keep the default object name that qt Designer creates when dropping user interface -controls inside the X2Form (for example, the first radio button is named "radioButton", the second is "radioButton_2", etc). - -Please note, that not every control and not every event from every control is supported. Never-the-less, the most common ones are supported. -Between the X2GUIExchangeInterface and using qt's Designer to set user interface control properties, a nice GUI can be created with -a fairly broad range of capabilities. - -Declare a local instance of the X2ModalUIUtil class to obtain this interface. See the X2Camera for a complete end to end example of -creating a graphical user interface, setting control values, responding to GUI events and retrieving control values. - -\sa X2ModalUIUtil -*/ - -class X2GUIInterface -{ -public: - - virtual ~X2GUIInterface(){} - -public: - //X2GUIInterface - - /*! Set the name of the Qt user interface file (.ui) that defines your custom user interface. This must be called before calling exec(). The .ui file goes into the same folder as the binary (shared library) of the driver.*/ - virtual int loadUserInterface(const char* pszFileName, const int& dt, const int& nISIndex)=0; - - /*! Returns the X2GUIExchangeInterface associated with this user-interface. */ - virtual X2GUIExchangeInterface* X2DX()=0; - - /*! Display the user interface.*/ - virtual int exec(bool& bPressedOK)=0; - -}; - -/*! -\ingroup GUI - -\brief The X2ModalUIUtil class supplies the X2 developer with the X2GUIInterface interface. - -Declare a local instance of this class to obtain a X2GUIInterface. See the X2Camera for an example. - -The implementation of this class merely assures proper intialization and cleanup of the X2GUIInterface and should not be changed. - -\sa X2Camera -*/ -class X2ModalUIUtil -{ - -public: - /*! Constructor */ - X2ModalUIUtil(DriverRootInterface* pCaller, TheSkyXFacadeForDriversInterface* pTheSkyX) - { - m_pTheSkyX = pTheSkyX; - m_pX2UI = NULL; - m_pX2UIEvent = NULL; - if (pCaller) - pCaller->queryAbstraction(X2GUIEventInterface_Name, (void**)&m_pX2UIEvent); - X2UI(); - } - - /*! Obtain the X2GUIInterface*/ - X2GUIInterface* X2UI() - { - int nErr; - - if (NULL == m_pX2UI && m_pTheSkyX) - { - if ((nErr = m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::GET_X2UI, m_pX2UIEvent, &m_pX2UI))) - return NULL; - } - return m_pX2UI; - } - - /*! Obtain the X2GUIExchangeInterface*/ - X2GUIExchangeInterface* X2DX() - { - if (NULL != m_pX2UI) - { - return m_pX2UI->X2DX(); - } - return NULL; - } - - ~X2ModalUIUtil() - { - if (m_pTheSkyX) - { - if (m_pX2UI) - m_pTheSkyX->doCommand(TheSkyXFacadeForDriversInterface::UNGET_X2UI, NULL, &m_pX2UI); - } - } - -private: - TheSkyXFacadeForDriversInterface* m_pTheSkyX; - X2GUIInterface* m_pX2UI; - X2GUIEventInterface* m_pX2UIEvent; -}; - -#endif \ No newline at end of file diff --git a/domehunter/protos/example_grpc_code/X2_client_test/Makefile b/domehunter/protos/example_grpc_code/X2_client_test/Makefile deleted file mode 100644 index 8fd2e92..0000000 --- a/domehunter/protos/example_grpc_code/X2_client_test/Makefile +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -HOST_SYSTEM = $(shell uname | cut -f 1 -d_) -SYSTEM ?= $(HOST_SYSTEM) -CXX = g++ -CPPFLAGS += `pkg-config --cflags protobuf grpc` -CXXFLAGS += -std=c++11 -ifeq ($(SYSTEM),Darwin) -LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ - -lgrpc++_reflection\ - -ldl -else -LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ - -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\ - -ldl -endif -PROTOC = protoc -GRPC_CPP_PLUGIN = grpc_cpp_plugin -GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)` -PROTO_PATH1 = /usr/local/include/google/protobuf/ -PROTO_PATH2 = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto - -# PROTOS_PATH = ../../protos -PROTOS_PATH = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/ - -vpath %.proto $(PROTOS_PATH) - - -all: test - -test: hx2dome.pb.o hx2dome.grpc.pb.o x2dome.o test.o - $(CXX) $^ $(LDFLAGS) -o $@ - -hx2dome.grpc.pb.o: ../../src/hx2dome.grpc.pb.cpp - $(CXX) $^ $(LDFLAGS) -c - -hx2dome.pb.o: ../../src/hx2dome.pb.cpp - $(CXX) $^ $(LDFLAGS) -c - -x2dome.o: ../../src/x2dome.cpp - $(CXX) $^ $(LDFLAGS) -c - -test.o: test.cpp - $(CXX) $^ $(LDFLAGS) -c - - -clean: - rm -f *.o test diff --git a/domehunter/protos/example_grpc_code/X2_client_test/test.cpp b/domehunter/protos/example_grpc_code/X2_client_test/test.cpp deleted file mode 100644 index 7dd4614..0000000 --- a/domehunter/protos/example_grpc_code/X2_client_test/test.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include -#include -#include -#include - -#include "../../src/x2dome.h" - - -int main(int argc, char** argv) { - - // create a bunch of null pointers to feed into an X2Dome instance - const char *pszSelection=NULL; - const int &nInstanceIndex=1; - SerXInterface *pSerXIn=NULL; - TheSkyXFacadeForDriversInterface *pTheSkyXIn=NULL; - SleeperInterface *pSleeperIn=NULL; - BasicIniUtilInterface *pIniUtilIn=NULL; - LoggerInterface *pLoggerIn=NULL; - MutexInterface *pIOMutexIn=NULL; - TickCountInterface *pTickCountIn=NULL; - - // create an X2Dome with a grpc channel/stub - X2Dome testDome( pszSelection, - nInstanceIndex, - pSerXIn, - pTheSkyXIn, - pSleeperIn, - pIniUtilIn, - pLoggerIn, - pIOMutexIn, - pTickCountIn, - grpc::CreateChannel("localhost:50051", grpc::InsecureChannelCredentials()) ); - - // using the X2Dome establishLink() member function to test the connection - int result; - result = testDome.establishLink(); - // - //std::cout << "HX2Dome received: " << result << std::endl; - - return 0; -} diff --git a/domehunter/protos/example_grpc_code/simple_client/Makefile b/domehunter/protos/example_grpc_code/simple_client/Makefile deleted file mode 100644 index 4886cc9..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -HOST_SYSTEM = $(shell uname | cut -f 1 -d_) -SYSTEM ?= $(HOST_SYSTEM) -CXX = g++ -CPPFLAGS += `pkg-config --cflags protobuf grpc` - -LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ - -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\ - -ldl - -PROTOC = protoc -GRPC_CPP_PLUGIN = grpc_cpp_plugin -GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)` -PROTO_PATH1 = /usr/local/include/google/protobuf/ -PROTO_PATH2 = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto - -# PROTOS_PATH = ../../protos -PROTOS_PATH = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/ - -vpath %.proto $(PROTOS_PATH) - - -all: hx2dome.proto_client - -hx2dome.proto_client: hx2dome.pb.o hx2dome.grpc.pb.o hx2dome.proto_client.o - $(CXX) $^ $(LDFLAGS) -o $@ - -hx2dome.grpc.pb.o: hx2dome.grpc.pb.cc - $(CXX) $^ $(LDFLAGS) -c - -hx2dome.pb.o: hx2dome.pb.cc - $(CXX) $^ $(LDFLAGS) -c - -hx2dome.proto_client.o: hx2dome.proto_client.cc - $(CXX) $^ $(LDFLAGS) -c - - -.PRECIOUS: %.grpc.pb.cc -hx2dome.grpc.pb.cc: hx2dome.proto - $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --proto_path=$(PROTO_PATH1) $(PROTO_PATH2) --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) - -.PRECIOUS: %.pb.cc -hx2dome.pb.cc: hx2dome.proto - $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $< - -clean: - rm -f *.o hx2dome.proto_client diff --git a/domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh b/domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh deleted file mode 100755 index 4345930..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/generate_grpc_cpp_code.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -if [ "$1" == "clean" ]; then - rm x2dome.proto_client - rm *.grpc.pb.* - rm *.pb.* - rm *.o -else - HDOME_PATH="$HOME/Documents/REPOS" - PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/" - PROTO_PATH1="/usr/local/include/google/protobuf/" - PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/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=. 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 "Running Makefile.\n" - make - - echo -e "Cleaning out object files.\n" - rm *.o - - echo -e "Done.\n" -fi diff --git a/domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh b/domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh deleted file mode 100755 index e579910..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/generate_grpc_python_code.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -if [ "$1" == "clean" ]; then - rm *pb2_grpc.py - rm *pb2.py -else - HDOME_PATH="$HOME/Documents/REPOS" - PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/" - PROTO_PATH1="/usr/local/include/google/protobuf/" - PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test/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 "Done.\n" -fi diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc b/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc deleted file mode 100644 index 5e0e44e..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.cc +++ /dev/null @@ -1,721 +0,0 @@ -// 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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::Empty, ::hx2dome::BasicString>( - std::mem_fn(&HX2Dome::Service::deviceInfoModel), this))); -} - -HX2Dome::Service::~Service() { -} - -::grpc::Status HX2Dome::Service::dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) { - (void) context; - (void) request; - (void) response; - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); -} - - -} // namespace hx2dome - diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h b/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h deleted file mode 100644 index ffea142..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h +++ /dev/null @@ -1,3111 +0,0 @@ -// 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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiAbortRaw(context, request, cq)); - } - ::grpc::Status dapiOpen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiOpenRaw(context, request, cq)); - } - ::grpc::Status dapiClose(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiCloseRaw(context, request, cq)); - } - ::grpc::Status dapiPark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiParkRaw(context, request, cq)); - } - ::grpc::Status dapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiUnparkRaw(context, request, cq)); - } - ::grpc::Status dapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiFindHomeRaw(context, request, cq)); - } - ::grpc::Status dapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiGotoCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiOpenCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiCloseCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiParkCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiUnparkCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameShortRaw(context, request, cq)); - } - ::grpc::Status deviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameLongRaw(context, request, cq)); - } - ::grpc::Status deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); - } - ::grpc::Status deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); - } - ::grpc::Status deviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiGetAzEl(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiAbort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiOpen(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiClose(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiPark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiUnpark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiFindHome(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiGotoComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiOpenComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiCloseComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiParkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiUnparkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiFindHomeComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoNameShort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoNameLong(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoDetailedDescription(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoFirmwareVersion(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoModel(::grpc::ServerContext* context, ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::AzEl>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiAbort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiClose(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiPark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoNameShort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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/example_grpc_code/simple_client/hx2dome.pb.cc b/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.cc deleted file mode 100644 index 0ff010b..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.cc +++ /dev/null @@ -1,1441 +0,0 @@ -// 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_; -} // 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}, {}}; - -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::Metadata file_level_metadata_hx2dome_2eproto[4]; -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_), -}; -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)}, -}; - -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_), -}; - -::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, 4, file_level_enum_descriptors_hx2dome_2eproto, file_level_service_descriptors_hx2dome_2eproto, -}; - -const char descriptor_table_protodef_hx2dome_2eproto[] = - "\n\rhx2dome.proto\022\007hx2dome\032\033google/protobu" - "f/empty.proto\"!\n\nReturnCode\022\023\n\013return_co" - "de\030\001 \001(\005\"3\n\004AzEl\022\023\n\013return_code\030\001 \001(\005\022\n\n" - "\002az\030\002 \001(\001\022\n\n\002el\030\003 \001(\001\"6\n\nIsComplete\022\023\n\013r" - "eturn_code\030\001 \001(\005\022\023\n\013is_complete\030\002 \001(\010\"#\n" - "\013BasicString\022\024\n\014basic_string\030\001 \001(\t2\232\n\n\007H" - "X2Dome\0226\n\013dapiGetAzEl\022\026.google.protobuf." - "Empty\032\r.hx2dome.AzEl\"\000\0224\n\014dapiGotoAzEl\022\r" - ".hx2dome.AzEl\032\023.hx2dome.ReturnCode\"\000\022:\n\t" - "dapiAbort\022\026.google.protobuf.Empty\032\023.hx2d" - "ome.ReturnCode\"\000\0229\n\010dapiOpen\022\026.google.pr" - "otobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022:\n\td" - "apiClose\022\026.google.protobuf.Empty\032\023.hx2do" - "me.ReturnCode\"\000\0229\n\010dapiPark\022\026.google.pro" - "tobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022;\n\nda" - "piUnpark\022\026.google.protobuf.Empty\032\023.hx2do" - "me.ReturnCode\"\000\022=\n\014dapiFindHome\022\026.google" - ".protobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022A" - "\n\020dapiGotoComplete\022\026.google.protobuf.Emp" - "ty\032\023.hx2dome.IsComplete\"\000\022A\n\020dapiOpenCom" - "plete\022\026.google.protobuf.Empty\032\023.hx2dome." - "IsComplete\"\000\022B\n\021dapiCloseComplete\022\026.goog" - "le.protobuf.Empty\032\023.hx2dome.IsComplete\"\000" - "\022A\n\020dapiParkComplete\022\026.google.protobuf.E" - "mpty\032\023.hx2dome.IsComplete\"\000\022C\n\022dapiUnpar" - "kComplete\022\026.google.protobuf.Empty\032\023.hx2d" - "ome.IsComplete\"\000\022E\n\024dapiFindHomeComplete" - "\022\026.google.protobuf.Empty\032\023.hx2dome.IsCom" - "plete\"\000\0220\n\010dapiSync\022\r.hx2dome.AzEl\032\023.hx2" - "dome.ReturnCode\"\000\022E\n\023deviceInfoNameShort" - "\022\026.google.protobuf.Empty\032\024.hx2dome.Basic" - "String\"\000\022D\n\022deviceInfoNameLong\022\026.google." - "protobuf.Empty\032\024.hx2dome.BasicString\"\000\022O" - "\n\035deviceInfoDetailedDescription\022\026.google" - ".protobuf.Empty\032\024.hx2dome.BasicString\"\000\022" - "K\n\031deviceInfoFirmwareVersion\022\026.google.pr" - "otobuf.Empty\032\024.hx2dome.BasicString\"\000\022A\n\017" - "deviceInfoModel\022\026.google.protobuf.Empty\032" - "\024.hx2dome.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, 1551, -}; - -void AddDescriptors_hx2dome_2eproto() { - static constexpr ::google::protobuf::internal::InitFunc deps[1] = - { - ::AddDescriptors_google_2fprotobuf_2fempty_2eproto, - }; - ::google::protobuf::internal::AddDescriptors(&descriptor_table_hx2dome_2eproto, deps, 1); -} - -// 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]; -} - - -// @@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); -} -} // namespace protobuf -} // namespace google - -// @@protoc_insertion_point(global_scope) -#include diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h b/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h deleted file mode 100644 index d8bb003..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.pb.h +++ /dev/null @@ -1,730 +0,0 @@ -// 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 -#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[4] - 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 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::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; -}; -// =================================================================== - - -// =================================================================== - -#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) -} - -#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/example_grpc_code/simple_client/hx2dome.proto b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto deleted file mode 100644 index c20d4b6..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto +++ /dev/null @@ -1,57 +0,0 @@ -// 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 (google.protobuf.Empty) returns (AzEl) {}; - rpc dapiGotoAzEl (AzEl) returns (ReturnCode) {}; - rpc dapiAbort (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiOpen (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiClose (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiPark (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiUnpark (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiFindHome (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiGotoComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiOpenComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiCloseComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiParkComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiUnparkComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiFindHomeComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiSync (AzEl) returns (ReturnCode) {}; - // Hardware Info Interface - rpc deviceInfoNameShort (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoNameLong (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoDetailedDescription (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoFirmwareVersion (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoModel (google.protobuf.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; -} diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc deleted file mode 100644 index 5320cb3..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.cc +++ /dev/null @@ -1,97 +0,0 @@ -/* - * - * Copyright 2015 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include -#include -#include - -#include - -#ifdef BAZEL_BUILD -#include "/home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client/hx2dome.grpc.pb.h" -#else -#include "hx2dome.grpc.pb.h" -#endif - -using grpc::Channel; -using grpc::ClientContext; -using grpc::Status; -using hx2dome::ReturnCode; -using hx2dome::AzEl; -using hx2dome::IsComplete; -using hx2dome::BasicString; -using hx2dome::HX2Dome; - -class HX2DomeClient { - public: - HX2DomeClient(std::shared_ptr channel) - : stub_(HX2Dome::NewStub(channel)) {} - - // Assembles the client's payload, sends it and presents the response back - // from the server. - int dapiGotoAzEl(int rc, double az, double el) { - // Data we are sending to the server. - AzEl request; - request.set_return_code(rc); - request.set_az(az); - request.set_el(el); - std::cout << "HX2Dome sending: " << request.return_code() << std::endl; - - // Container for the data we expect from the server. - ReturnCode reply; - - // Context for the client. It could be used to convey extra information to - // the server and/or tweak certain RPC behaviors. - ClientContext context; - - // The actual RPC. - Status status = stub_->dapiGotoAzEl(&context, request, &reply); - - // std::cout << status.ok() << std::endl; - - // Act upon its status. - if (status.ok()) { - return reply.return_code(); - } else { - std::cout << status.error_code() << ": " << status.error_message() - << std::endl; - int fail(666); - return fail; - } - } - - private: - std::unique_ptr stub_; -}; - -int main(int argc, char** argv) { - // Instantiate the client. It requires a channel, out of which the actual RPCs - // are created. This channel models a connection to an endpoint (in this case, - // localhost at port 50051). We indicate that the channel isn't authenticated - // (use of InsecureChannelCredentials()). - HX2DomeClient hx2dome(grpc::CreateChannel( - "localhost:50051", grpc::InsecureChannelCredentials())); - int rc(1); - double a(10); - double e(20); - int result; - result = hx2dome.dapiGotoAzEl(rc, a, e); - std::cout << "HX2Dome receiving: " << result << std::endl; - - return 0; -} diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py deleted file mode 100644 index 94f3351..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_client.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""The Python implementation of the GRPC helloworld.Greeter client.""" - -from __future__ import print_function -import logging - -import grpc - -import hx2dome_pb2 -import hx2dome_pb2_grpc - -# Just using this as a way to test the python server without having to use/debug the c++ client -def run(): - # NOTE(gRPC Python Team): .close() is possible on a channel and should be - # used in circumstances in which the with statement does not fit the needs - # of the code. - with grpc.insecure_channel('localhost:50051') as channel: - stub = hx2dome_pb2_grpc.HX2DomeStub(channel) - response = stub.dapiGotoAzEl(hx2dome_pb2.AzEl(return_code=1, az=10, el=20)) - print(type(response)) - print(f"HX2Dome client received: return_code={response.return_code}") - - -if __name__ == '__main__': - logging.basicConfig() - run() diff --git a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py deleted file mode 100644 index 172aff8..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome.proto_server.py +++ /dev/null @@ -1,40 +0,0 @@ -from concurrent import futures -import time -import logging - -import grpc - -import hx2dome_pb2 -import hx2dome_pb2_grpc - -_ONE_DAY_IN_SECONDS = 60 * 60 * 24 - - -class HX2DomeServer(hx2dome_pb2_grpc.HX2DomeServicer): - - def dapiGotoAzEl(self, request, context): - # print something for debugging, so I know python server is actually getting a request from client - print(f'Receiving: {request.return_code}') - 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: {response.return_code}\n') - time.sleep(1) - return response - - -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/example_grpc_code/simple_client/hx2dome_pb2.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2.py deleted file mode 100644 index fb6983f..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2.py +++ /dev/null @@ -1,405 +0,0 @@ -# -*- 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() - - -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hx2dome.proto', - package='hx2dome', - syntax='proto3', - serialized_options=None, - serialized_pb=_b('\n\rhx2dome.proto\x12\x07hx2dome\x1a\x1bgoogle/protobuf/empty.proto\"!\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(\t2\x9a\n\n\x07HX2Dome\x12\x36\n\x0b\x64\x61piGetAzEl\x12\x16.google.protobuf.Empty\x1a\r.hx2dome.AzEl\"\x00\x12\x34\n\x0c\x64\x61piGotoAzEl\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiAbort\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piOpen\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiClose\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piPark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12;\n\ndapiUnpark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12=\n\x0c\x64\x61piFindHome\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x41\n\x10\x64\x61piGotoComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piOpenComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x42\n\x11\x64\x61piCloseComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piParkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x43\n\x12\x64\x61piUnparkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x45\n\x14\x64\x61piFindHomeComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x30\n\x08\x64\x61piSync\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x45\n\x13\x64\x65viceInfoNameShort\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x44\n\x12\x64\x65viceInfoNameLong\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12O\n\x1d\x64\x65viceInfoDetailedDescription\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12K\n\x19\x64\x65viceInfoFirmwareVersion\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x41\n\x0f\x64\x65viceInfoModel\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x62\x06proto3') - , - dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) - - - - -_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=55, - serialized_end=88, -) - - -_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=90, - serialized_end=141, -) - - -_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=143, - serialized_end=197, -) - - -_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=199, - serialized_end=234, -) - -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 -_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) - - - -_HX2DOME = _descriptor.ServiceDescriptor( - name='HX2Dome', - full_name='hx2dome.HX2Dome', - file=DESCRIPTOR, - index=0, - serialized_options=None, - serialized_start=237, - serialized_end=1543, - methods=[ - _descriptor.MethodDescriptor( - name='dapiGetAzEl', - full_name='hx2dome.HX2Dome.dapiGetAzEl', - index=0, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiOpen', - full_name='hx2dome.HX2Dome.dapiOpen', - index=3, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiClose', - full_name='hx2dome.HX2Dome.dapiClose', - index=4, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiPark', - full_name='hx2dome.HX2Dome.dapiPark', - index=5, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiUnpark', - full_name='hx2dome.HX2Dome.dapiUnpark', - index=6, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiFindHome', - full_name='hx2dome.HX2Dome.dapiFindHome', - index=7, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiGotoComplete', - full_name='hx2dome.HX2Dome.dapiGotoComplete', - index=8, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiOpenComplete', - full_name='hx2dome.HX2Dome.dapiOpenComplete', - index=9, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiCloseComplete', - full_name='hx2dome.HX2Dome.dapiCloseComplete', - index=10, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiParkComplete', - full_name='hx2dome.HX2Dome.dapiParkComplete', - index=11, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiUnparkComplete', - full_name='hx2dome.HX2Dome.dapiUnparkComplete', - index=12, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiFindHomeComplete', - full_name='hx2dome.HX2Dome.dapiFindHomeComplete', - index=13, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoNameLong', - full_name='hx2dome.HX2Dome.deviceInfoNameLong', - index=16, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoDetailedDescription', - full_name='hx2dome.HX2Dome.deviceInfoDetailedDescription', - index=17, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoFirmwareVersion', - full_name='hx2dome.HX2Dome.deviceInfoFirmwareVersion', - index=18, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoModel', - full_name='hx2dome.HX2Dome.deviceInfoModel', - index=19, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._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/example_grpc_code/simple_client/hx2dome_pb2_grpc.py b/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2_grpc.py deleted file mode 100644 index 32a2d9c..0000000 --- a/domehunter/protos/example_grpc_code/simple_client/hx2dome_pb2_grpc.py +++ /dev/null @@ -1,370 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiOpen = channel.unary_unary( - '/hx2dome.HX2Dome/dapiOpen', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiClose = channel.unary_unary( - '/hx2dome.HX2Dome/dapiClose', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiPark = channel.unary_unary( - '/hx2dome.HX2Dome/dapiPark', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiUnpark = channel.unary_unary( - '/hx2dome.HX2Dome/dapiUnpark', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiFindHome = channel.unary_unary( - '/hx2dome.HX2Dome/dapiFindHome', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiGotoComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiGotoComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiOpenComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiOpenComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiCloseComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiCloseComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiParkComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiParkComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiUnparkComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiUnparkComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiFindHomeComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiFindHomeComplete', - request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoNameLong = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoNameLong', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoDetailedDescription = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoDetailedDescription', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoFirmwareVersion = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoFirmwareVersion', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoModel = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoModel', - request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiOpen': grpc.unary_unary_rpc_method_handler( - servicer.dapiOpen, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiClose': grpc.unary_unary_rpc_method_handler( - servicer.dapiClose, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiPark': grpc.unary_unary_rpc_method_handler( - servicer.dapiPark, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiUnpark': grpc.unary_unary_rpc_method_handler( - servicer.dapiUnpark, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiFindHome': grpc.unary_unary_rpc_method_handler( - servicer.dapiFindHome, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiGotoComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiGotoComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiOpenComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiOpenComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiCloseComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiCloseComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiParkComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiParkComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiUnparkComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiUnparkComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiFindHomeComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiFindHomeComplete, - request_deserializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoNameLong': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoNameLong, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoDetailedDescription': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoDetailedDescription, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoFirmwareVersion': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoFirmwareVersion, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoModel': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoModel, - request_deserializer=google_dot_protobuf_dot_empty__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/example_grpc_code/simple_client_v2/Makefile b/domehunter/protos/example_grpc_code/simple_client_v2/Makefile deleted file mode 100644 index fe4107f..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -HOST_SYSTEM = $(shell uname | cut -f 1 -d_) -SYSTEM ?= $(HOST_SYSTEM) -CXX = g++ -CPPFLAGS += `pkg-config --cflags protobuf grpc` -CXXFLAGS += -std=c++11 - -LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++`\ - -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\ - -ldl - -PROTOC = protoc -GRPC_CPP_PLUGIN = grpc_cpp_plugin -GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)` -PROTO_PATH1 = /usr/local/include/google/protobuf/ -PROTO_PATH2 = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto - -# PROTOS_PATH = ../../protos -PROTOS_PATH = /home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client_v2/ - -vpath %.proto $(PROTOS_PATH) - -all: main - -main: main.o hx2dome.proto_client.o hx2dome.pb.o hx2dome.grpc.pb.o - $(CXX) $^ $(LDFLAGS) -o $@ - -main.o: main.cpp - $(CXX) $^ $(LDFLAGS) -c - -hx2dome.proto_client.o: hx2dome.proto_client.cc - $(CXX) $^ $(LDFLAGS) -c - -hx2dome.grpc.pb.o: hx2dome.grpc.pb.cc - $(CXX) $^ $(LDFLAGS) -c - -hx2dome.pb.o: hx2dome.pb.cc - $(CXX) $^ $(LDFLAGS) -c - - -.PRECIOUS: %.grpc.pb.cc -hx2dome.grpc.pb.cc: hx2dome.proto - $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --proto_path=$(PROTO_PATH1) $(PROTO_PATH2) --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) - -.PRECIOUS: %.pb.cc -hx2dome.pb.cc: hx2dome.proto - $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $< - -clean: - rm -f *.o main diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh b/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh deleted file mode 100755 index a478715..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_cpp_code.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -if [ "$1" == "clean" ]; then - rm x2dome.proto_client - rm *.grpc.pb.* - rm *.pb.* - rm *.o -else - HDOME_PATH="$HOME/Documents/REPOS" - PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/" - PROTO_PATH1="/usr/local/include/google/protobuf/" - PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/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=. 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 "Running Makefile.\n" - make - - echo -e "Cleaning out object files.\n" - rm *.o - - echo -e "Done.\n" -fi diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh b/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh deleted file mode 100755 index c6ad08e..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/generate_grpc_python_code.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -if [ "$1" == "clean" ]; then - rm *pb2_grpc.py - rm *pb2.py -else - HDOME_PATH="$HOME/Documents/REPOS" - PROTOS_PATH="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/" - PROTO_PATH1="/usr/local/include/google/protobuf/" - PROTO_PATH2="$HDOME_PATH/huntsman-dome/domehunter/protos/proto_test2/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 "Done.\n" -fi diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc deleted file mode 100644 index 5e0e44e..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.cc +++ /dev/null @@ -1,721 +0,0 @@ -// 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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::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, ::google::protobuf::Empty, ::hx2dome::BasicString>( - std::mem_fn(&HX2Dome::Service::deviceInfoModel), this))); -} - -HX2Dome::Service::~Service() { -} - -::grpc::Status HX2Dome::Service::dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) { - (void) context; - (void) request; - (void) response; - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); -} - - -} // namespace hx2dome - diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h deleted file mode 100644 index ffea142..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h +++ /dev/null @@ -1,3111 +0,0 @@ -// 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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::AzEl* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>> AsyncdapiGetAzEl(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiAbort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiAbortRaw(context, request, cq)); - } - ::grpc::Status dapiOpen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiOpen(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiOpenRaw(context, request, cq)); - } - ::grpc::Status dapiClose(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiClose(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiCloseRaw(context, request, cq)); - } - ::grpc::Status dapiPark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiPark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiParkRaw(context, request, cq)); - } - ::grpc::Status dapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiUnpark(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiUnparkRaw(context, request, cq)); - } - ::grpc::Status dapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::ReturnCode* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>> AsyncdapiFindHome(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>>(PrepareAsyncdapiFindHomeRaw(context, request, cq)); - } - ::grpc::Status dapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiGotoComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiGotoCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiOpenComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiOpenCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiCloseComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiCloseCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiParkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiParkCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiUnparkComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>>(PrepareAsyncdapiUnparkCompleteRaw(context, request, cq)); - } - ::grpc::Status dapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::IsComplete* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>> AsyncdapiFindHomeComplete(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameShort(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameShortRaw(context, request, cq)); - } - ::grpc::Status deviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoNameLong(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoNameLongRaw(context, request, cq)); - } - ::grpc::Status deviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoDetailedDescription(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoDetailedDescriptionRaw(context, request, cq)); - } - ::grpc::Status deviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoFirmwareVersion(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>>(PrepareAsyncdeviceInfoFirmwareVersionRaw(context, request, cq)); - } - ::grpc::Status deviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::hx2dome::BasicString* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>> AsyncdeviceInfoModel(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::AzEl>* PrepareAsyncdapiGetAzElRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiAbortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiOpenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiCloseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiParkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiUnparkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* AsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::ReturnCode>* PrepareAsyncdapiFindHomeRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiGotoCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiOpenCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiCloseCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiParkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiUnparkCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* AsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::IsComplete>* PrepareAsyncdapiFindHomeCompleteRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameShortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoNameLongRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoDetailedDescriptionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoFirmwareVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* AsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::hx2dome::BasicString>* PrepareAsyncdeviceInfoModelRaw(::grpc::ClientContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiClose(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiPark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response); - virtual ::grpc::Status dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response); - virtual ::grpc::Status dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::hx2dome::BasicString* response); - virtual ::grpc::Status deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiGetAzEl(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiAbort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiOpen(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiClose(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiPark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiUnpark(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiFindHome(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiGotoComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiOpenComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiCloseComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiParkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiUnparkComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdapiFindHomeComplete(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoNameShort(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoNameLong(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoDetailedDescription(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoFirmwareVersion(::grpc::ServerContext* context, ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - void RequestdeviceInfoModel(::grpc::ServerContext* context, ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::AzEl>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::AzEl* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiGetAzEl(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiAbort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiOpen(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiClose(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiPark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiUnpark(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::ReturnCode>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::ReturnCode* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiFindHome(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiGotoComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiOpenComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiCloseComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiParkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiUnparkComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::IsComplete>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::IsComplete* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void dapiFindHomeComplete(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoNameShort(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoNameLong(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoDetailedDescription(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoFirmwareVersion(::grpc::ServerContext* context, const ::google::protobuf::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< ::google::protobuf::Empty, ::hx2dome::BasicString>( - [this](::grpc::ServerContext* context, - const ::google::protobuf::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 ::google::protobuf::Empty* request, ::hx2dome::BasicString* response) override { - abort(); - return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); - } - virtual void deviceInfoModel(::grpc::ServerContext* context, const ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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< ::google::protobuf::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 ::google::protobuf::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< ::google::protobuf::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/example_grpc_code/simple_client_v2/hx2dome.pb.cc b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.cc deleted file mode 100644 index 0ff010b..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.cc +++ /dev/null @@ -1,1441 +0,0 @@ -// 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_; -} // 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}, {}}; - -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::Metadata file_level_metadata_hx2dome_2eproto[4]; -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_), -}; -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)}, -}; - -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_), -}; - -::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, 4, file_level_enum_descriptors_hx2dome_2eproto, file_level_service_descriptors_hx2dome_2eproto, -}; - -const char descriptor_table_protodef_hx2dome_2eproto[] = - "\n\rhx2dome.proto\022\007hx2dome\032\033google/protobu" - "f/empty.proto\"!\n\nReturnCode\022\023\n\013return_co" - "de\030\001 \001(\005\"3\n\004AzEl\022\023\n\013return_code\030\001 \001(\005\022\n\n" - "\002az\030\002 \001(\001\022\n\n\002el\030\003 \001(\001\"6\n\nIsComplete\022\023\n\013r" - "eturn_code\030\001 \001(\005\022\023\n\013is_complete\030\002 \001(\010\"#\n" - "\013BasicString\022\024\n\014basic_string\030\001 \001(\t2\232\n\n\007H" - "X2Dome\0226\n\013dapiGetAzEl\022\026.google.protobuf." - "Empty\032\r.hx2dome.AzEl\"\000\0224\n\014dapiGotoAzEl\022\r" - ".hx2dome.AzEl\032\023.hx2dome.ReturnCode\"\000\022:\n\t" - "dapiAbort\022\026.google.protobuf.Empty\032\023.hx2d" - "ome.ReturnCode\"\000\0229\n\010dapiOpen\022\026.google.pr" - "otobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022:\n\td" - "apiClose\022\026.google.protobuf.Empty\032\023.hx2do" - "me.ReturnCode\"\000\0229\n\010dapiPark\022\026.google.pro" - "tobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022;\n\nda" - "piUnpark\022\026.google.protobuf.Empty\032\023.hx2do" - "me.ReturnCode\"\000\022=\n\014dapiFindHome\022\026.google" - ".protobuf.Empty\032\023.hx2dome.ReturnCode\"\000\022A" - "\n\020dapiGotoComplete\022\026.google.protobuf.Emp" - "ty\032\023.hx2dome.IsComplete\"\000\022A\n\020dapiOpenCom" - "plete\022\026.google.protobuf.Empty\032\023.hx2dome." - "IsComplete\"\000\022B\n\021dapiCloseComplete\022\026.goog" - "le.protobuf.Empty\032\023.hx2dome.IsComplete\"\000" - "\022A\n\020dapiParkComplete\022\026.google.protobuf.E" - "mpty\032\023.hx2dome.IsComplete\"\000\022C\n\022dapiUnpar" - "kComplete\022\026.google.protobuf.Empty\032\023.hx2d" - "ome.IsComplete\"\000\022E\n\024dapiFindHomeComplete" - "\022\026.google.protobuf.Empty\032\023.hx2dome.IsCom" - "plete\"\000\0220\n\010dapiSync\022\r.hx2dome.AzEl\032\023.hx2" - "dome.ReturnCode\"\000\022E\n\023deviceInfoNameShort" - "\022\026.google.protobuf.Empty\032\024.hx2dome.Basic" - "String\"\000\022D\n\022deviceInfoNameLong\022\026.google." - "protobuf.Empty\032\024.hx2dome.BasicString\"\000\022O" - "\n\035deviceInfoDetailedDescription\022\026.google" - ".protobuf.Empty\032\024.hx2dome.BasicString\"\000\022" - "K\n\031deviceInfoFirmwareVersion\022\026.google.pr" - "otobuf.Empty\032\024.hx2dome.BasicString\"\000\022A\n\017" - "deviceInfoModel\022\026.google.protobuf.Empty\032" - "\024.hx2dome.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, 1551, -}; - -void AddDescriptors_hx2dome_2eproto() { - static constexpr ::google::protobuf::internal::InitFunc deps[1] = - { - ::AddDescriptors_google_2fprotobuf_2fempty_2eproto, - }; - ::google::protobuf::internal::AddDescriptors(&descriptor_table_hx2dome_2eproto, deps, 1); -} - -// 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]; -} - - -// @@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); -} -} // namespace protobuf -} // namespace google - -// @@protoc_insertion_point(global_scope) -#include diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h deleted file mode 100644 index d8bb003..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.pb.h +++ /dev/null @@ -1,730 +0,0 @@ -// 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 -#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[4] - 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 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::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; -}; -// =================================================================== - - -// =================================================================== - -#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) -} - -#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/example_grpc_code/simple_client_v2/hx2dome.proto b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto deleted file mode 100644 index c20d4b6..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto +++ /dev/null @@ -1,57 +0,0 @@ -// 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 (google.protobuf.Empty) returns (AzEl) {}; - rpc dapiGotoAzEl (AzEl) returns (ReturnCode) {}; - rpc dapiAbort (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiOpen (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiClose (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiPark (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiUnpark (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiFindHome (google.protobuf.Empty) returns (ReturnCode) {}; - rpc dapiGotoComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiOpenComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiCloseComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiParkComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiUnparkComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiFindHomeComplete (google.protobuf.Empty) returns (IsComplete) {}; - rpc dapiSync (AzEl) returns (ReturnCode) {}; - // Hardware Info Interface - rpc deviceInfoNameShort (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoNameLong (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoDetailedDescription (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoFirmwareVersion (google.protobuf.Empty) returns (BasicString) {}; - rpc deviceInfoModel (google.protobuf.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; -} diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc deleted file mode 100644 index 0148ce0..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.cc +++ /dev/null @@ -1,34 +0,0 @@ -#include "hx2dome.proto_client.h" - - -int HX2DomeClient::dapiGotoAzEl(int rc, double az, double el) -{ - // Data we are sending to the server. - AzEl request; - request.set_return_code(rc); - request.set_az(az); - request.set_el(el); - std::cout << "HX2Dome sending: " << request.return_code() << std::endl; - - // Container for the data we expect from the server. - ReturnCode reply; - - // Context for the client. It could be used to convey extra information to - // the server and/or tweak certain RPC behaviors. - ClientContext context; - - // The actual RPC. - Status status = stub_->dapiGotoAzEl(&context, request, &reply); - - // std::cout << status.ok() << std::endl; - - // Act upon its status. - if (status.ok()) { - return reply.return_code(); - } else { - std::cout << status.error_code() << ": " << status.error_message() - << std::endl; - int fail(666); - return fail; - } -} diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h deleted file mode 100644 index 007e9e6..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.h +++ /dev/null @@ -1,32 +0,0 @@ -#include -#include -#include - -#include - -#ifdef BAZEL_BUILD -#include "/home/fergus/Documents/REPOS/huntsman-dome/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.grpc.pb.h" -#else -#include "hx2dome.grpc.pb.h" -#endif - -using grpc::Channel; -using grpc::ClientContext; -using grpc::Status; -using hx2dome::ReturnCode; -using hx2dome::AzEl; -using hx2dome::IsComplete; -using hx2dome::BasicString; -using hx2dome::HX2Dome; - - -class HX2DomeClient { - public: - HX2DomeClient(std::shared_ptr channel) - : stub_(HX2Dome::NewStub(channel)) {} - - virtual int dapiGotoAzEl(int rc, double az, double el); - - private: - std::unique_ptr stub_; -}; diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py deleted file mode 100644 index 94f3351..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_client.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""The Python implementation of the GRPC helloworld.Greeter client.""" - -from __future__ import print_function -import logging - -import grpc - -import hx2dome_pb2 -import hx2dome_pb2_grpc - -# Just using this as a way to test the python server without having to use/debug the c++ client -def run(): - # NOTE(gRPC Python Team): .close() is possible on a channel and should be - # used in circumstances in which the with statement does not fit the needs - # of the code. - with grpc.insecure_channel('localhost:50051') as channel: - stub = hx2dome_pb2_grpc.HX2DomeStub(channel) - response = stub.dapiGotoAzEl(hx2dome_pb2.AzEl(return_code=1, az=10, el=20)) - print(type(response)) - print(f"HX2Dome client received: return_code={response.return_code}") - - -if __name__ == '__main__': - logging.basicConfig() - run() diff --git a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py deleted file mode 100644 index 172aff8..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome.proto_server.py +++ /dev/null @@ -1,40 +0,0 @@ -from concurrent import futures -import time -import logging - -import grpc - -import hx2dome_pb2 -import hx2dome_pb2_grpc - -_ONE_DAY_IN_SECONDS = 60 * 60 * 24 - - -class HX2DomeServer(hx2dome_pb2_grpc.HX2DomeServicer): - - def dapiGotoAzEl(self, request, context): - # print something for debugging, so I know python server is actually getting a request from client - print(f'Receiving: {request.return_code}') - 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: {response.return_code}\n') - time.sleep(1) - return response - - -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/example_grpc_code/simple_client_v2/hx2dome_pb2.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2.py deleted file mode 100644 index fb6983f..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2.py +++ /dev/null @@ -1,405 +0,0 @@ -# -*- 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() - - -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hx2dome.proto', - package='hx2dome', - syntax='proto3', - serialized_options=None, - serialized_pb=_b('\n\rhx2dome.proto\x12\x07hx2dome\x1a\x1bgoogle/protobuf/empty.proto\"!\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(\t2\x9a\n\n\x07HX2Dome\x12\x36\n\x0b\x64\x61piGetAzEl\x12\x16.google.protobuf.Empty\x1a\r.hx2dome.AzEl\"\x00\x12\x34\n\x0c\x64\x61piGotoAzEl\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiAbort\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piOpen\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12:\n\tdapiClose\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x39\n\x08\x64\x61piPark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12;\n\ndapiUnpark\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12=\n\x0c\x64\x61piFindHome\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x41\n\x10\x64\x61piGotoComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piOpenComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x42\n\x11\x64\x61piCloseComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x41\n\x10\x64\x61piParkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x43\n\x12\x64\x61piUnparkComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x45\n\x14\x64\x61piFindHomeComplete\x12\x16.google.protobuf.Empty\x1a\x13.hx2dome.IsComplete\"\x00\x12\x30\n\x08\x64\x61piSync\x12\r.hx2dome.AzEl\x1a\x13.hx2dome.ReturnCode\"\x00\x12\x45\n\x13\x64\x65viceInfoNameShort\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x44\n\x12\x64\x65viceInfoNameLong\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12O\n\x1d\x64\x65viceInfoDetailedDescription\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12K\n\x19\x64\x65viceInfoFirmwareVersion\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x12\x41\n\x0f\x64\x65viceInfoModel\x12\x16.google.protobuf.Empty\x1a\x14.hx2dome.BasicString\"\x00\x62\x06proto3') - , - dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) - - - - -_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=55, - serialized_end=88, -) - - -_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=90, - serialized_end=141, -) - - -_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=143, - serialized_end=197, -) - - -_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=199, - serialized_end=234, -) - -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 -_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) - - - -_HX2DOME = _descriptor.ServiceDescriptor( - name='HX2Dome', - full_name='hx2dome.HX2Dome', - file=DESCRIPTOR, - index=0, - serialized_options=None, - serialized_start=237, - serialized_end=1543, - methods=[ - _descriptor.MethodDescriptor( - name='dapiGetAzEl', - full_name='hx2dome.HX2Dome.dapiGetAzEl', - index=0, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiOpen', - full_name='hx2dome.HX2Dome.dapiOpen', - index=3, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiClose', - full_name='hx2dome.HX2Dome.dapiClose', - index=4, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiPark', - full_name='hx2dome.HX2Dome.dapiPark', - index=5, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiUnpark', - full_name='hx2dome.HX2Dome.dapiUnpark', - index=6, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiFindHome', - full_name='hx2dome.HX2Dome.dapiFindHome', - index=7, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_RETURNCODE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiGotoComplete', - full_name='hx2dome.HX2Dome.dapiGotoComplete', - index=8, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiOpenComplete', - full_name='hx2dome.HX2Dome.dapiOpenComplete', - index=9, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiCloseComplete', - full_name='hx2dome.HX2Dome.dapiCloseComplete', - index=10, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiParkComplete', - full_name='hx2dome.HX2Dome.dapiParkComplete', - index=11, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiUnparkComplete', - full_name='hx2dome.HX2Dome.dapiUnparkComplete', - index=12, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_ISCOMPLETE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='dapiFindHomeComplete', - full_name='hx2dome.HX2Dome.dapiFindHomeComplete', - index=13, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._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=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoNameLong', - full_name='hx2dome.HX2Dome.deviceInfoNameLong', - index=16, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoDetailedDescription', - full_name='hx2dome.HX2Dome.deviceInfoDetailedDescription', - index=17, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoFirmwareVersion', - full_name='hx2dome.HX2Dome.deviceInfoFirmwareVersion', - index=18, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - output_type=_BASICSTRING, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='deviceInfoModel', - full_name='hx2dome.HX2Dome.deviceInfoModel', - index=19, - containing_service=None, - input_type=google_dot_protobuf_dot_empty__pb2._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/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py b/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py deleted file mode 100644 index 32a2d9c..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/hx2dome_pb2_grpc.py +++ /dev/null @@ -1,370 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiOpen = channel.unary_unary( - '/hx2dome.HX2Dome/dapiOpen', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiClose = channel.unary_unary( - '/hx2dome.HX2Dome/dapiClose', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiPark = channel.unary_unary( - '/hx2dome.HX2Dome/dapiPark', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiUnpark = channel.unary_unary( - '/hx2dome.HX2Dome/dapiUnpark', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiFindHome = channel.unary_unary( - '/hx2dome.HX2Dome/dapiFindHome', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.ReturnCode.FromString, - ) - self.dapiGotoComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiGotoComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiOpenComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiOpenComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiCloseComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiCloseComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiParkComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiParkComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiUnparkComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiUnparkComplete', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.IsComplete.FromString, - ) - self.dapiFindHomeComplete = channel.unary_unary( - '/hx2dome.HX2Dome/dapiFindHomeComplete', - request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoNameLong = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoNameLong', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoDetailedDescription = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoDetailedDescription', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoFirmwareVersion = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoFirmwareVersion', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=hx2dome__pb2.BasicString.FromString, - ) - self.deviceInfoModel = channel.unary_unary( - '/hx2dome.HX2Dome/deviceInfoModel', - request_serializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiOpen': grpc.unary_unary_rpc_method_handler( - servicer.dapiOpen, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiClose': grpc.unary_unary_rpc_method_handler( - servicer.dapiClose, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiPark': grpc.unary_unary_rpc_method_handler( - servicer.dapiPark, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiUnpark': grpc.unary_unary_rpc_method_handler( - servicer.dapiUnpark, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiFindHome': grpc.unary_unary_rpc_method_handler( - servicer.dapiFindHome, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.ReturnCode.SerializeToString, - ), - 'dapiGotoComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiGotoComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiOpenComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiOpenComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiCloseComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiCloseComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiParkComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiParkComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiUnparkComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiUnparkComplete, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.IsComplete.SerializeToString, - ), - 'dapiFindHomeComplete': grpc.unary_unary_rpc_method_handler( - servicer.dapiFindHomeComplete, - request_deserializer=google_dot_protobuf_dot_empty__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=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoNameLong': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoNameLong, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoDetailedDescription': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoDetailedDescription, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoFirmwareVersion': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoFirmwareVersion, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=hx2dome__pb2.BasicString.SerializeToString, - ), - 'deviceInfoModel': grpc.unary_unary_rpc_method_handler( - servicer.deviceInfoModel, - request_deserializer=google_dot_protobuf_dot_empty__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/example_grpc_code/simple_client_v2/main.cpp b/domehunter/protos/example_grpc_code/simple_client_v2/main.cpp deleted file mode 100644 index 27415a0..0000000 --- a/domehunter/protos/example_grpc_code/simple_client_v2/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "hx2dome.proto_client.h" - - -int main(int argc, char** argv) { - // Instantiate the client. It requires a channel, out of which the actual RPCs - // are created. This channel models a connection to an endpoint (in this case, - // localhost at port 50051). We indicate that the channel isn't authenticated - // (use of InsecureChannelCredentials()). - HX2DomeClient hx2dome(grpc::CreateChannel( - "localhost:50051", grpc::InsecureChannelCredentials())); - int rc(1); - double a(10); - double e(20); - int result; - result = hx2dome.dapiGotoAzEl(rc, a, e); - // int output(dynamic_cast(result.return_code())); - std::cout << "HX2Dome receiving: " << result << std::endl; - - return 0; -} From 403f5b620ce29d2e8f2426a6513233f13008ceb6 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 5 Jul 2019 00:35:55 +1000 Subject: [PATCH 12/13] more readme updates --- README.rst | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/README.rst b/README.rst index 8a139db..6e764bb 100644 --- a/README.rst +++ b/README.rst @@ -23,6 +23,9 @@ 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 --------------- @@ -32,13 +35,6 @@ Requirements Getting Started --------------- -Within the ``domehunter/protos/`` directory are a number of files and -directories. ``example_domepro_driver/`` Contains an example of a -c++ X2Dome driver for reference. For more infomation on the X2 -standard `see here `_. ``example_grpc_code`` contains -several simply gRPC implementations using a c++ client and a -python server. - 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 @@ -52,24 +48,19 @@ tools. The human written files are, * ``hx2dome.proto_server.py`` The remaining cpp and python files are automatically produced -by gRPC and shouldn't need to be looked at. +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. -| - -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 shouldnt need to worry about -this as the generated files are committed to the repositry and -shouldn't need to be generated. +The files for compilation and installation are found in the +``domehunter/protos/`` directory. The relevant files are, -The remaining files in ``domehunter/protos/`` include, * ``domelistHuntsmanDome.txt`` * ``TheSkyX_plugin_install.sh`` * ``Makefile`` -The first two are files are used to installed the compiled c++ +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``. @@ -89,6 +80,18 @@ 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 From 45c5bc23aaabb93d4ceef8b13c4e1b463e107b95 Mon Sep 17 00:00:00 2001 From: Lee Date: Fri, 2 Aug 2019 15:02:50 +1000 Subject: [PATCH 13/13] file user added to readme --- README.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 6e764bb..cad45a4 100644 --- a/README.rst +++ b/README.rst @@ -40,12 +40,12 @@ The code for the Huntsman dome driver is contained in the human written files and files automatically generated by gRPC tools. The human written files are, -* ``main.cpp`` -* ``main.h`` -* ``x2dome.cpp`` -* ``x2dome.h`` -* ``hx2dome.proto`` -* ``hx2dome.proto_server.py`` +* ``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