SEBA-580 Add backup commands;
Retrieve server version;
Show available models
Change-Id: I3dc37d6f155661a2635fb4c95cf42b2aa81035e8
diff --git a/commands/common.go b/commands/common.go
index 493b302..9461f99 100644
--- a/commands/common.go
+++ b/commands/common.go
@@ -17,6 +17,12 @@
import (
b64 "encoding/base64"
+ "fmt"
+ "github.com/fullstorydev/grpcurl"
+ "github.com/jhump/protoreflect/grpcreflect"
+ "golang.org/x/net/context"
+ "google.golang.org/grpc"
+ reflectpb "google.golang.org/grpc/reflection/grpc_reflection_v1alpha"
)
func GenerateHeaders() []string {
@@ -26,3 +32,33 @@
headers := []string{"authorization: basic " + sEnc}
return headers
}
+
+func InitReflectionClient() (*grpc.ClientConn, grpcurl.DescriptorSource, error) {
+ conn, err := NewConnection()
+ if err != nil {
+ return nil, nil, err
+ }
+
+ refClient := grpcreflect.NewClient(context.Background(), reflectpb.NewServerReflectionClient(conn))
+ defer refClient.Reset()
+
+ descriptor := grpcurl.DescriptorSourceFromServer(context.Background(), refClient)
+
+ return conn, descriptor, nil
+}
+
+// A makeshift substitute for C's Ternary operator
+func Ternary_uint32(condition bool, value_true uint32, value_false uint32) uint32 {
+ if condition {
+ return value_true
+ } else {
+ return value_false
+ }
+}
+
+// call printf only if visible is True
+func conditional_printf(visible bool, format string, args ...interface{}) {
+ if visible {
+ fmt.Printf(format, args...)
+ }
+}