-
Notifications
You must be signed in to change notification settings - Fork 2
/
server.go
133 lines (117 loc) · 3.74 KB
/
server.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package iapphostsectiongroup
import (
"context"
"fmt"
"strings"
"unicode/utf16"
dcerpc "github.com/oiweiwei/go-msrpc/dcerpc"
errors "github.com/oiweiwei/go-msrpc/dcerpc/errors"
uuid "github.com/oiweiwei/go-msrpc/midl/uuid"
iunknown "github.com/oiweiwei/go-msrpc/msrpc/dcom/iunknown/v0"
ndr "github.com/oiweiwei/go-msrpc/ndr"
)
var (
_ = context.Background
_ = fmt.Errorf
_ = utf16.Encode
_ = strings.TrimPrefix
_ = ndr.ZeroString
_ = (*uuid.UUID)(nil)
_ = (*dcerpc.SyntaxID)(nil)
_ = (*errors.Error)(nil)
_ = iunknown.GoPackage
)
// IAppHostSectionGroup server interface.
type AppHostSectionGroupServer interface {
// IUnknown base class.
iunknown.UnknownServer
// Count operation.
GetCount(context.Context, *GetCountRequest) (*GetCountResponse, error)
// Item operation.
GetItem(context.Context, *GetItemRequest) (*GetItemResponse, error)
// Sections operation.
GetSections(context.Context, *GetSectionsRequest) (*GetSectionsResponse, error)
// AddSectionGroup operation.
AddSectionGroup(context.Context, *AddSectionGroupRequest) (*AddSectionGroupResponse, error)
// DeleteSectionGroup operation.
DeleteSectionGroup(context.Context, *DeleteSectionGroupRequest) (*DeleteSectionGroupResponse, error)
// Name operation.
GetName(context.Context, *GetNameRequest) (*GetNameResponse, error)
// Type operation.
GetType(context.Context, *GetTypeRequest) (*GetTypeResponse, error)
// Type operation.
SetType(context.Context, *SetTypeRequest) (*SetTypeResponse, error)
}
func RegisterAppHostSectionGroupServer(conn dcerpc.Conn, o AppHostSectionGroupServer, opts ...dcerpc.Option) {
conn.RegisterServer(NewAppHostSectionGroupServerHandle(o), append(opts, dcerpc.WithAbstractSyntax(AppHostSectionGroupSyntaxV0_0))...)
}
func NewAppHostSectionGroupServerHandle(o AppHostSectionGroupServer) dcerpc.ServerHandle {
return func(ctx context.Context, opNum int, r ndr.Reader) (dcerpc.Operation, error) {
return AppHostSectionGroupServerHandle(ctx, o, opNum, r)
}
}
func AppHostSectionGroupServerHandle(ctx context.Context, o AppHostSectionGroupServer, opNum int, r ndr.Reader) (dcerpc.Operation, error) {
if opNum < 3 {
// IUnknown base method.
return iunknown.UnknownServerHandle(ctx, o, opNum, r)
}
switch opNum {
case 3: // Count
in := &GetCountRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.GetCount(ctx, in)
return resp.xxx_ToOp(ctx), err
case 4: // Item
in := &GetItemRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.GetItem(ctx, in)
return resp.xxx_ToOp(ctx), err
case 5: // Sections
in := &GetSectionsRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.GetSections(ctx, in)
return resp.xxx_ToOp(ctx), err
case 6: // AddSectionGroup
in := &AddSectionGroupRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.AddSectionGroup(ctx, in)
return resp.xxx_ToOp(ctx), err
case 7: // DeleteSectionGroup
in := &DeleteSectionGroupRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.DeleteSectionGroup(ctx, in)
return resp.xxx_ToOp(ctx), err
case 8: // Name
in := &GetNameRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.GetName(ctx, in)
return resp.xxx_ToOp(ctx), err
case 9: // Type
in := &GetTypeRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.GetType(ctx, in)
return resp.xxx_ToOp(ctx), err
case 10: // Type
in := &SetTypeRequest{}
if err := in.UnmarshalNDR(ctx, r); err != nil {
return nil, err
}
resp, err := o.SetType(ctx, in)
return resp.xxx_ToOp(ctx), err
}
return nil, nil
}