Class AbstractManagementApi<T>

  • All Implemented Interfaces:
    Api<T>
    Direct Known Subclasses:
    ManagementApiClient

    public abstract class AbstractManagementApi<T>
    extends Object
    implements Api<T>
    • Constructor Detail

      • AbstractManagementApi

        public AbstractManagementApi()
    • Method Detail

      • getSystemInfo

        public abstract void getSystemInfo​(T ctx,
                                           com.google.protobuf.Empty request,
                                           Observer<SystemInfo> observer)
          Get system info
         
      • listInstanceTemplates

        public abstract void listInstanceTemplates​(T ctx,
                                                   com.google.protobuf.Empty request,
                                                   Observer<ListInstanceTemplatesResponse> observer)
          List instance templates
         
      • subscribeInstances

        public abstract void subscribeInstances​(T ctx,
                                                com.google.protobuf.Empty request,
                                                Observer<YamcsInstance> observer)
          Receive instance updates
         
      • getInstance

        public abstract void getInstance​(T ctx,
                                         GetInstanceRequest request,
                                         Observer<YamcsInstance> observer)
          Get an instance
          
          If an instance does not have web services enabled, it will be listed among the
          results, but none of its URLs will be filled in.
         
      • reconfigureInstance

        public abstract void reconfigureInstance​(T ctx,
                                                 ReconfigureInstanceRequest request,
                                                 Observer<YamcsInstance> observer)
          Reconfigure a templated instance
         
          Regenerates the instance configuration based on the latest
          template source, and with optionally modified template variables.
         
      • startInstance

        public abstract void startInstance​(T ctx,
                                           StartInstanceRequest request,
                                           Observer<YamcsInstance> observer)
          Start an instance
         
          If the instance is in the RUNNING state, this call will do nothing.
          Otherwise the instance will be started.
         
      • stopInstance

        public abstract void stopInstance​(T ctx,
                                          StopInstanceRequest request,
                                          Observer<YamcsInstance> observer)
          Stop an instance
          
          Stop all services of the instance. The instance state will be OFFLINE.
          If the instance state is already OFFLINE, this call will do nothing.
         
      • restartInstance

        public abstract void restartInstance​(T ctx,
                                             RestartInstanceRequest request,
                                             Observer<YamcsInstance> observer)
          Restart an instance
         
          If the instance state is RUNNING, the instance will be stopped and then
          restarted. Otherwise the instance will be started. Note that the Mission
          Database will also be reloaded before restart.
         
      • startService

        public abstract void startService​(T ctx,
                                          StartServiceRequest request,
                                          Observer<com.google.protobuf.Empty> observer)
          Start a service
         
      • stopService

        public abstract void stopService​(T ctx,
                                         StopServiceRequest request,
                                         Observer<com.google.protobuf.Empty> observer)
          Stop a service
         
          Once stopped, a service cannot be resumed. Instead a new service
          instance will be created and started.
         
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.ServiceDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface Api<T>
      • getRequestPrototype

        public final com.google.protobuf.Message getRequestPrototype​(com.google.protobuf.Descriptors.MethodDescriptor method)
        Specified by:
        getRequestPrototype in interface Api<T>
      • getResponsePrototype

        public final com.google.protobuf.Message getResponsePrototype​(com.google.protobuf.Descriptors.MethodDescriptor method)
        Specified by:
        getResponsePrototype in interface Api<T>
      • callMethod

        public final void callMethod​(com.google.protobuf.Descriptors.MethodDescriptor method,
                                     T ctx,
                                     com.google.protobuf.Message request,
                                     Observer<com.google.protobuf.Message> future)
        Specified by:
        callMethod in interface Api<T>
      • callMethod

        public final Observer<com.google.protobuf.Message> callMethod​(com.google.protobuf.Descriptors.MethodDescriptor method,
                                                                      T ctx,
                                                                      Observer<com.google.protobuf.Message> future)
        Specified by:
        callMethod in interface Api<T>