diff options
author | Rastislav Szabo <raszabo@cisco.com> | 2017-05-25 13:47:43 +0200 |
---|---|---|
committer | Rastislav Szabo <raszabo@cisco.com> | 2017-05-25 13:54:13 +0200 |
commit | 2d07847237e754d9050f06f565baa430c70ed937 (patch) | |
tree | 80588aeec912e95fa21b51520bbd527eb87f455b /adapter/mock/util/binapi_reflect.go | |
parent | c38cb25d746736f062ee16e87f553c8a4ec5fced (diff) |
added async connect API, new structure of examples
Change-Id: Iab9bce174596c30998981e02b7030c248c423384
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
Diffstat (limited to 'adapter/mock/util/binapi_reflect.go')
-rw-r--r-- | adapter/mock/util/binapi_reflect.go | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/adapter/mock/util/binapi_reflect.go b/adapter/mock/util/binapi_reflect.go deleted file mode 100644 index 0ab065d..0000000 --- a/adapter/mock/util/binapi_reflect.go +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) 2017 Cisco and/or its affiliates. -// -// 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. - -// Package util is a helper package for generic handling of VPP binary -// API messages in the mock adapter and integration tests. -package util - -import ( - "reflect" -) - -const swIfIndexName = "swIfIndex" -const retvalName = "retval" -const replySuffix = "_reply" - -// findFieldOfType finds the field specified by its name in provided message defined as reflect.Type data type. -func findFieldOfType(reply reflect.Type, fieldName string) (reflect.StructField, bool) { - if reply.Kind() == reflect.Struct { - field, found := reply.FieldByName(fieldName) - return field, found - } else if reply.Kind() == reflect.Ptr && reply.Elem().Kind() == reflect.Struct { - field, found := reply.Elem().FieldByName(fieldName) - return field, found - } - return reflect.StructField{}, false -} - -// findFieldOfValue finds the field specified by its name in provided message defined as reflect.Value data type. -func findFieldOfValue(reply reflect.Value, fieldName string) (reflect.Value, bool) { - if reply.Kind() == reflect.Struct { - field := reply.FieldByName(fieldName) - return field, field.IsValid() - } else if reply.Kind() == reflect.Ptr && reply.Elem().Kind() == reflect.Struct { - field := reply.Elem().FieldByName(fieldName) - return field, field.IsValid() - } - return reflect.Value{}, false -} - -// HasSwIfIdx checks whether provided message has the swIfIndex field. -func HasSwIfIdx(msg reflect.Type) bool { - _, found := findFieldOfType(msg, swIfIndexName) - return found -} - -// SetSwIfIdx sets the swIfIndex field of provided message to provided value. -func SetSwIfIdx(msg reflect.Value, swIfIndex uint32) { - if field, found := findFieldOfValue(msg, swIfIndexName); found { - field.Set(reflect.ValueOf(swIfIndex)) - } -} - -// SetRetval sets the retval field of provided message to provided value. -func SetRetval(msg reflect.Value, retVal int32) { - if field, found := findFieldOfValue(msg, retvalName); found { - field.Set(reflect.ValueOf(retVal)) - } -} - -// ReplyNameFor returns reply message name to the given request message name. -func ReplyNameFor(requestName string) (string, bool) { - return requestName + replySuffix, true -} |