From 02400eecb2063b9036d0b1c80012c92b8e982401 Mon Sep 17 00:00:00 2001 From: pvanhorn Date: Wed, 29 Mar 2017 08:49:48 -0700 Subject: [PATCH] Create and use an enum for Route Config mPreference. (#1525) --- .../drivers/windows/otNodeApi/otNodeApi.cpp | 12 ++++++------ include/openthread/types.h | 10 ++++++++++ src/cli/cli.cpp | 18 +++++++++--------- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/examples/drivers/windows/otNodeApi/otNodeApi.cpp b/examples/drivers/windows/otNodeApi/otNodeApi.cpp index d9b000734..f34a1da34 100644 --- a/examples/drivers/windows/otNodeApi/otNodeApi.cpp +++ b/examples/drivers/windows/otNodeApi/otNodeApi.cpp @@ -1562,15 +1562,15 @@ OTNODEAPI int32_t OTCALL otNodeAddPrefix(otNode* aNode, const char *aPrefix, con if (strcmp(aPreference, "high") == 0) { - config.mPreference = 1; + config.mPreference = kRoutePreferenceHigh; } else if (strcmp(aPreference, "med") == 0) { - config.mPreference = 1; + config.mPreference = kRoutePreferenceMedium; } else if (strcmp(aPreference, "low") == 0) { - config.mPreference = -1; + config.mPreference = kRoutePreferenceLow; } else { @@ -1605,15 +1605,15 @@ OTNODEAPI int32_t OTCALL otNodeAddRoute(otNode* aNode, const char *aPrefix, cons if (strcmp(aPreference, "high") == 0) { - config.mPreference = 1; + config.mPreference = kRoutePreferenceHigh; } else if (strcmp(aPreference, "med") == 0) { - config.mPreference = 1; + config.mPreference = kRoutePreferenceMedium; } else if (strcmp(aPreference, "low") == 0) { - config.mPreference = -1; + config.mPreference = kRoutePreferenceLow; } else { diff --git a/include/openthread/types.h b/include/openthread/types.h index ee235bd02..d0a9ef43b 100644 --- a/include/openthread/types.h +++ b/include/openthread/types.h @@ -697,6 +697,16 @@ typedef struct otExternalRouteConfig bool mStable : 1; } otExternalRouteConfig; +/** + * Defines valid values for member mPreference in otExternalRouteConfig and otBorderRouterConfig. + */ +typedef enum otRoutePreference +{ + kRoutePreferenceLow = -1, ///< Routes assigned this value are used as a last resort when no other more preferred route exists. + kRoutePreferenceMedium = 0, ///< Routes assigned this value should be selected only in the absence of any kRoutePreferenceHigh routes. + kRoutePreferenceHigh = 1 ///< The most preferred route. Routes assigned this value should be selected over any other route. +} otRoutePreference; + /** * @} * diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 348978271..ba34e33d1 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -1723,15 +1723,15 @@ ThreadError Interpreter::ProcessPrefixAdd(int argc, char *argv[]) { if (strcmp(argv[argcur], "high") == 0) { - config.mPreference = 1; + config.mPreference = kRoutePreferenceHigh; } else if (strcmp(argv[argcur], "med") == 0) { - config.mPreference = 0; + config.mPreference = kRoutePreferenceMedium; } else if (strcmp(argv[argcur], "low") == 0) { - config.mPreference = -1; + config.mPreference = kRoutePreferenceLow; } else { @@ -1865,15 +1865,15 @@ ThreadError Interpreter::ProcessPrefixList(void) switch (config.mPreference) { - case -1: + case kRoutePreferenceLow: sServer->OutputFormat(" low\r\n"); break; - case 0: + case kRoutePreferenceMedium: sServer->OutputFormat(" med\r\n"); break; - case 1: + case kRoutePreferenceHigh: sServer->OutputFormat(" high\r\n"); break; } @@ -1975,15 +1975,15 @@ ThreadError Interpreter::ProcessRouteAdd(int argc, char *argv[]) } else if (strcmp(argv[argcur], "high") == 0) { - config.mPreference = 1; + config.mPreference = kRoutePreferenceHigh; } else if (strcmp(argv[argcur], "med") == 0) { - config.mPreference = 0; + config.mPreference = kRoutePreferenceMedium; } else if (strcmp(argv[argcur], "low") == 0) { - config.mPreference = -1; + config.mPreference = kRoutePreferenceLow; } else {