///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2019- Equinor ASA // // ResInsight is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. // // See the GNU General Public License at // for more details. // ////////////////////////////////////////////////////////////////////////////////// #include "RiaGrpcAppService.h" #include "RiaGuiApplication.h" #include "RiaVersionInfo.h" #include "RiaGrpcCallbacks.h" #include "RiaGrpcServer.h" //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- grpc::Status RiaGrpcAppService::GetVersion(grpc::ServerContext* context, const rips::Empty* request, rips::Version* reply) { reply->set_major_version(RESINSIGHT_MAJOR_VERSION); reply->set_minor_version(RESINSIGHT_MINOR_VERSION); reply->set_patch_version(RESINSIGHT_PATCH_VERSION); return grpc::Status::OK; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- grpc::Status RiaGrpcAppService::Exit(grpc::ServerContext* context, const rips::Empty* request, rips::Empty* reply) { RiaGrpcServer::setReceivedExitRequest(); return grpc::Status::OK; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- grpc::Status RiaGrpcAppService::GetRuntimeInfo(grpc::ServerContext* context, const rips::Empty* request, rips::RuntimeInfo* reply) { rips::ApplicationTypeEnum appType = rips::CONSOLE_APPLICATION; if (RiaGuiApplication::isRunning()) { appType = rips::GUI_APPLICATION; } reply->set_app_type(appType); return grpc::Status::OK; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- std::vector RiaGrpcAppService::createCallbacks() { typedef RiaGrpcAppService Self; return { new RiaGrpcUnaryCallback(this, &Self::GetVersion, &Self::RequestGetVersion), new RiaGrpcUnaryCallback(this, &Self::Exit, &Self::RequestExit), new RiaGrpcUnaryCallback(this, &Self::GetRuntimeInfo, &Self::RequestGetRuntimeInfo) }; } static bool RiaGrpcAppInfoService_init = RiaGrpcServiceFactory::instance()->registerCreator(typeid(RiaGrpcAppService).hash_code());