aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/binapi-generator/objects.go
diff options
context:
space:
mode:
authorOndrej Fabry <ofabry@cisco.com>2018-12-13 10:21:49 +0100
committerOndrej Fabry <ofabry@cisco.com>2018-12-13 10:21:49 +0100
commit868b541e296dc47748ad03b8f0174c828d996529 (patch)
treea43650ea7d9c96434d536e557177b38c5f84bd34 /cmd/binapi-generator/objects.go
parent1768c495416997c7a6769c6a92b33b37c89eed25 (diff)
Add support for aliases and boolean type
- aliases are now generated as new types or arrays (if length > 0) - bool is recognized as a boolean type and generated as Go bool - comment with original JSON is now prepended for each object type - interface Services is now generated at the top of the file to provide overview of what RPC services does the current module consists of - dump services now correctly return slice of the particular details type Change-Id: I788babc1c0f2de33e0febd87e5b200d54065b244 Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Diffstat (limited to 'cmd/binapi-generator/objects.go')
-rw-r--r--cmd/binapi-generator/objects.go21
1 files changed, 8 insertions, 13 deletions
diff --git a/cmd/binapi-generator/objects.go b/cmd/binapi-generator/objects.go
index 2681085..97318cb 100644
--- a/cmd/binapi-generator/objects.go
+++ b/cmd/binapi-generator/objects.go
@@ -8,6 +8,7 @@ type Package struct {
Enums []Enum
Unions []Union
Types []Type
+ Aliases []Alias
Messages []Message
Services []Service
RefMap map[string]string
@@ -37,6 +38,13 @@ type Type struct {
Fields []Field
}
+// Alias represents VPP binary API alias
+type Alias struct {
+ Name string
+ Type string
+ Length int
+}
+
// Union represents VPP binary API union
type Union struct {
Name string
@@ -105,16 +113,3 @@ func (s Service) IsRequestService() bool {
// some binapi messages might have `null` reply (for example: memclnt)
return s.ReplyType != "" && s.ReplyType != "null" // not null
}
-
-func getSizeOfType(typ *Type) (size int) {
- for _, field := range typ.Fields {
- if n := getBinapiTypeSize(field.Type); n > 0 {
- if field.Length > 0 {
- size += n * field.Length
- } else {
- size += n
- }
- }
- }
- return size
-}