Skip to content

Commit f5bf743

Browse files
committed
mgmt: expose ControlCommand module and verb
Change-Id: I34473b5111f632c1d17e9edd4ffcfe8960e1a3aa
1 parent 0e13ed3 commit f5bf743

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

ndn-cxx/mgmt/nfd/control-command.hpp

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class ControlCommand : noncopyable
132132
static PartialName
133133
getName()
134134
{
135-
return PartialName().append(Derived::s_module).append(Derived::s_verb);
135+
return PartialName().append(Derived::module).append(Derived::verb);
136136
}
137137

138138
/**
@@ -144,7 +144,7 @@ class ControlCommand : noncopyable
144144
{
145145
validateRequest(params);
146146

147-
Interest request(commandPrefix.append(Derived::s_module).append(Derived::s_verb));
147+
Interest request(commandPrefix.append(Derived::module).append(Derived::verb));
148148
Derived::s_requestFormat.encode(request, params);
149149
return request;
150150
}
@@ -155,7 +155,7 @@ class ControlCommand : noncopyable
155155
static shared_ptr<mgmt::ControlParametersBase>
156156
parseRequest(const Interest& interest, size_t prefixLen)
157157
{
158-
// /<prefix>/<module>/<verb>
158+
// +2 to account for module and verb components
159159
return Derived::s_requestFormat.decode(interest, prefixLen + 2);
160160
}
161161

@@ -221,13 +221,14 @@ class ControlCommand : noncopyable
221221
}
222222
};
223223

224-
#define NDN_CXX_CONTROL_COMMAND(cmd, module, verb) \
224+
#define NDN_CXX_CONTROL_COMMAND(module_, verb_) \
225+
public: \
226+
static inline const ::ndn::name::Component module{std::string_view(module_)}; \
227+
static inline const ::ndn::name::Component verb{std::string_view(verb_)}; \
225228
private: \
226-
friend Base; \
227-
static inline const ::ndn::name::Component s_module{module}; \
228-
static inline const ::ndn::name::Component s_verb{verb}; \
229229
static const RequestFormat s_requestFormat; \
230-
static const ResponseFormat s_responseFormat
230+
static const ResponseFormat s_responseFormat; \
231+
friend Base
231232

232233

233234
/**
@@ -237,7 +238,7 @@ class ControlCommand : noncopyable
237238
*/
238239
class FaceCreateCommand : public ControlCommand<FaceCreateCommand>
239240
{
240-
NDN_CXX_CONTROL_COMMAND(FaceCreateCommand, "faces", "create");
241+
NDN_CXX_CONTROL_COMMAND("faces", "create");
241242

242243
static void
243244
applyDefaultsToRequestImpl(ControlParameters& parameters);
@@ -254,7 +255,7 @@ class FaceCreateCommand : public ControlCommand<FaceCreateCommand>
254255
*/
255256
class FaceUpdateCommand : public ControlCommand<FaceUpdateCommand>
256257
{
257-
NDN_CXX_CONTROL_COMMAND(FaceUpdateCommand, "faces", "update");
258+
NDN_CXX_CONTROL_COMMAND("faces", "update");
258259

259260
static void
260261
applyDefaultsToRequestImpl(ControlParameters& parameters);
@@ -275,7 +276,7 @@ class FaceUpdateCommand : public ControlCommand<FaceUpdateCommand>
275276
*/
276277
class FaceDestroyCommand : public ControlCommand<FaceDestroyCommand>
277278
{
278-
NDN_CXX_CONTROL_COMMAND(FaceDestroyCommand, "faces", "destroy");
279+
NDN_CXX_CONTROL_COMMAND("faces", "destroy");
279280

280281
static void
281282
validateRequestImpl(const ControlParameters& parameters);
@@ -292,7 +293,7 @@ class FaceDestroyCommand : public ControlCommand<FaceDestroyCommand>
292293
*/
293294
class FibAddNextHopCommand : public ControlCommand<FibAddNextHopCommand>
294295
{
295-
NDN_CXX_CONTROL_COMMAND(FibAddNextHopCommand, "fib", "add-nexthop");
296+
NDN_CXX_CONTROL_COMMAND("fib", "add-nexthop");
296297

297298
static void
298299
applyDefaultsToRequestImpl(ControlParameters& parameters);
@@ -309,7 +310,7 @@ class FibAddNextHopCommand : public ControlCommand<FibAddNextHopCommand>
309310
*/
310311
class FibRemoveNextHopCommand : public ControlCommand<FibRemoveNextHopCommand>
311312
{
312-
NDN_CXX_CONTROL_COMMAND(FibRemoveNextHopCommand, "fib", "remove-nexthop");
313+
NDN_CXX_CONTROL_COMMAND("fib", "remove-nexthop");
313314

314315
static void
315316
applyDefaultsToRequestImpl(ControlParameters& parameters);
@@ -326,7 +327,7 @@ class FibRemoveNextHopCommand : public ControlCommand<FibRemoveNextHopCommand>
326327
*/
327328
class CsConfigCommand : public ControlCommand<CsConfigCommand>
328329
{
329-
NDN_CXX_CONTROL_COMMAND(CsConfigCommand, "cs", "config");
330+
NDN_CXX_CONTROL_COMMAND("cs", "config");
330331
};
331332

332333

@@ -337,7 +338,7 @@ class CsConfigCommand : public ControlCommand<CsConfigCommand>
337338
*/
338339
class CsEraseCommand : public ControlCommand<CsEraseCommand>
339340
{
340-
NDN_CXX_CONTROL_COMMAND(CsEraseCommand, "cs", "erase");
341+
NDN_CXX_CONTROL_COMMAND("cs", "erase");
341342

342343
static void
343344
validateRequestImpl(const ControlParameters& parameters);
@@ -354,7 +355,7 @@ class CsEraseCommand : public ControlCommand<CsEraseCommand>
354355
*/
355356
class StrategyChoiceSetCommand : public ControlCommand<StrategyChoiceSetCommand>
356357
{
357-
NDN_CXX_CONTROL_COMMAND(StrategyChoiceSetCommand, "strategy-choice", "set");
358+
NDN_CXX_CONTROL_COMMAND("strategy-choice", "set");
358359
};
359360

360361

@@ -365,7 +366,7 @@ class StrategyChoiceSetCommand : public ControlCommand<StrategyChoiceSetCommand>
365366
*/
366367
class StrategyChoiceUnsetCommand : public ControlCommand<StrategyChoiceUnsetCommand>
367368
{
368-
NDN_CXX_CONTROL_COMMAND(StrategyChoiceUnsetCommand, "strategy-choice", "unset");
369+
NDN_CXX_CONTROL_COMMAND("strategy-choice", "unset");
369370

370371
static void
371372
validateRequestImpl(const ControlParameters& parameters);
@@ -382,7 +383,7 @@ class StrategyChoiceUnsetCommand : public ControlCommand<StrategyChoiceUnsetComm
382383
*/
383384
class RibRegisterCommand : public ControlCommand<RibRegisterCommand>
384385
{
385-
NDN_CXX_CONTROL_COMMAND(RibRegisterCommand, "rib", "register");
386+
NDN_CXX_CONTROL_COMMAND("rib", "register");
386387

387388
static void
388389
applyDefaultsToRequestImpl(ControlParameters& parameters);
@@ -399,7 +400,7 @@ class RibRegisterCommand : public ControlCommand<RibRegisterCommand>
399400
*/
400401
class RibUnregisterCommand : public ControlCommand<RibUnregisterCommand>
401402
{
402-
NDN_CXX_CONTROL_COMMAND(RibUnregisterCommand, "rib", "unregister");
403+
NDN_CXX_CONTROL_COMMAND("rib", "unregister");
403404

404405
static void
405406
applyDefaultsToRequestImpl(ControlParameters& parameters);

0 commit comments

Comments
 (0)