From f6e51709fc3a79274646135fec1a603d4316acf6 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 11 Jan 2017 18:37:55 +0100 Subject: CTRL: remove boilerplate Use CTRL_CMD_DEFINE_RO(), CTRL_CMD_DEFINE_WO() and CTRL_CMD_DEFINE_WO_NOVRF() where appropriate to get rid of boilerplate code. Change-Id: I5bcea0b4f4b8f535bef2b423f2013b8b4a218b5b --- openbsc/src/libbsc/bsc_ctrl_commands.c | 77 +++------------------------------ openbsc/src/libmsc/ctrl_commands.c | 21 +-------- openbsc/src/osmo-bsc_nat/bsc_nat_ctrl.c | 12 +---- openbsc/tests/ctrl_test_runner.py | 8 ++-- 4 files changed, 13 insertions(+), 105 deletions(-) diff --git a/openbsc/src/libbsc/bsc_ctrl_commands.c b/openbsc/src/libbsc/bsc_ctrl_commands.c index 7e8479734..14e8d7181 100644 --- a/openbsc/src/libbsc/bsc_ctrl_commands.c +++ b/openbsc/src/libbsc/bsc_ctrl_commands.c @@ -70,17 +70,6 @@ CTRL_CMD_DEFINE_RANGE(net_mcc, "mcc", struct gsm_network, country_code, 1, 999); CTRL_CMD_VTY_STRING(net_short_name, "short-name", struct gsm_network, name_short); CTRL_CMD_VTY_STRING(net_long_name, "long-name", struct gsm_network, name_long); -static int verify_net_apply_config(struct ctrl_cmd *cmd, const char *v, void *d) -{ - return 0; -} - -static int get_net_apply_config(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Write only attribute"; - return CTRL_CMD_ERROR; -} - static int set_net_apply_config(struct ctrl_cmd *cmd, void *data) { struct gsm_network *net = cmd->node; @@ -107,7 +96,7 @@ static int set_net_apply_config(struct ctrl_cmd *cmd, void *data) return CTRL_CMD_REPLY; } -CTRL_CMD_DEFINE(net_apply_config, "apply-configuration"); +CTRL_CMD_DEFINE_WO_NOVRF(net_apply_config, "apply-configuration"); static int verify_net_mcc_mnc_apply(struct ctrl_cmd *cmd, const char *value, void *d) { @@ -126,12 +115,6 @@ static int verify_net_mcc_mnc_apply(struct ctrl_cmd *cmd, const char *value, voi return 0; } -static int get_net_mcc_mnc_apply(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Write only attribute"; - return CTRL_CMD_ERROR; -} - static int set_net_mcc_mnc_apply(struct ctrl_cmd *cmd, void *data) { struct gsm_network *net = cmd->node; @@ -165,23 +148,12 @@ oom: cmd->reply = "OOM"; return CTRL_CMD_ERROR; } -CTRL_CMD_DEFINE(net_mcc_mnc_apply, "mcc-mnc-apply"); +CTRL_CMD_DEFINE_WO(net_mcc_mnc_apply, "mcc-mnc-apply"); /* BTS related commands below */ CTRL_CMD_DEFINE_RANGE(bts_lac, "location-area-code", struct gsm_bts, location_area_code, 0, 65535); CTRL_CMD_DEFINE_RANGE(bts_ci, "cell-identity", struct gsm_bts, cell_identity, 0, 65535); -static int verify_bts_apply_config(struct ctrl_cmd *cmd, const char *v, void *d) -{ - return 0; -} - -static int get_bts_apply_config(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Write only attribute"; - return CTRL_CMD_ERROR; -} - static int set_bts_apply_config(struct ctrl_cmd *cmd, void *data) { struct gsm_bts *bts = cmd->node; @@ -196,18 +168,7 @@ static int set_bts_apply_config(struct ctrl_cmd *cmd, void *data) return CTRL_CMD_REPLY; } -CTRL_CMD_DEFINE(bts_apply_config, "apply-configuration"); - -static int verify_bts_si(struct ctrl_cmd *cmd, const char *v, void *d) -{ - return 0; -} - -static int get_bts_si(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Write only attribute"; - return CTRL_CMD_ERROR; -} +CTRL_CMD_DEFINE_WO_NOVRF(bts_apply_config, "apply-configuration"); static int set_bts_si(struct ctrl_cmd *cmd, void *data) { @@ -223,12 +184,7 @@ static int set_bts_si(struct ctrl_cmd *cmd, void *data) cmd->reply = "Generated new System Information"; return CTRL_CMD_REPLY; } -CTRL_CMD_DEFINE(bts_si, "send-new-system-informations"); - -static int verify_bts_chan_load(struct ctrl_cmd *cmd, const char *v, void *d) -{ - return 0; -} +CTRL_CMD_DEFINE_WO_NOVRF(bts_si, "send-new-system-informations"); static int get_bts_chan_load(struct ctrl_cmd *cmd, void *data) { @@ -271,23 +227,7 @@ error: return CTRL_CMD_ERROR; } -static int set_bts_chan_load(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Read only attribute"; - return CTRL_CMD_ERROR; -} -CTRL_CMD_DEFINE(bts_chan_load, "channel-load"); - -static int verify_bts_oml_conn(struct ctrl_cmd *cmd, const char *value, void *_data) -{ - struct gsm_bts *bts = cmd->node; - - if (!is_ipaccess_bts(bts)) { - cmd->reply = ""; - return -1; - } - return 0; -} +CTRL_CMD_DEFINE_RO(bts_chan_load, "channel-load"); static int get_bts_oml_conn(struct ctrl_cmd *cmd, void *data) { @@ -297,12 +237,7 @@ static int get_bts_oml_conn(struct ctrl_cmd *cmd, void *data) return CTRL_CMD_REPLY; } -static int set_bts_oml_conn(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Read only attribute"; - return CTRL_CMD_ERROR; -} -CTRL_CMD_DEFINE(bts_oml_conn, "oml-connection-state"); +CTRL_CMD_DEFINE_RO(bts_oml_conn, "oml-connection-state"); static int verify_bts_gprs_mode(struct ctrl_cmd *cmd, const char *value, void *_data) { diff --git a/openbsc/src/libmsc/ctrl_commands.c b/openbsc/src/libmsc/ctrl_commands.c index d153247b0..a56d122d2 100644 --- a/openbsc/src/libmsc/ctrl_commands.c +++ b/openbsc/src/libmsc/ctrl_commands.c @@ -75,12 +75,6 @@ static int verify_subscriber_modify(struct ctrl_cmd *cmd, const char *value, voi return rc; } -static int get_subscriber_modify(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Set only attribute"; - return CTRL_CMD_ERROR; -} - static int set_subscriber_modify(struct ctrl_cmd *cmd, void *data) { struct gsm_network *net = cmd->node; @@ -157,18 +151,7 @@ fail: return CTRL_CMD_ERROR; } -CTRL_CMD_DEFINE(subscriber_modify, "subscriber-modify-v1"); - -static int verify_subscriber_delete(struct ctrl_cmd *cmd, const char *v, void *d) -{ - return 0; -} - -static int get_subscriber_delete(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Set only attribute"; - return CTRL_CMD_ERROR; -} +CTRL_CMD_DEFINE_WO(subscriber_modify, "subscriber-modify-v1"); static int set_subscriber_delete(struct ctrl_cmd *cmd, void *data) { @@ -199,7 +182,7 @@ static int set_subscriber_delete(struct ctrl_cmd *cmd, void *data) cmd->reply = was_used ? "Removed active subscriber" : "Removed"; return CTRL_CMD_REPLY; } -CTRL_CMD_DEFINE(subscriber_delete, "subscriber-delete-v1"); +CTRL_CMD_DEFINE_WO_NOVRF(subscriber_delete, "subscriber-delete-v1"); static int verify_subscriber_list(struct ctrl_cmd *cmd, const char *value, void *d) { diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_ctrl.c b/openbsc/src/osmo-bsc_nat/bsc_nat_ctrl.c index ec4243e8e..057a58310 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat_ctrl.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat_ctrl.c @@ -446,11 +446,7 @@ static int verify_net_cfg_acc_cmd(struct ctrl_cmd *cmd, const char *value, void return 0; } -CTRL_CMD_DEFINE(net_save_cmd, "net 0 save-configuration"); -static int verify_net_save_cmd(struct ctrl_cmd *cmd, const char *v, void *d) -{ - return 0; -} +CTRL_CMD_DEFINE_WO_NOVRF(net_save_cmd, "net 0 save-configuration"); static int set_net_save_cmd(struct ctrl_cmd *cmd, void *data) { @@ -464,12 +460,6 @@ static int set_net_save_cmd(struct ctrl_cmd *cmd, void *data) return CTRL_CMD_REPLY; } -static int get_net_save_cmd(struct ctrl_cmd *cmd, void *data) -{ - cmd->reply = "Write only attribute"; - return CTRL_CMD_ERROR; -} - struct ctrl_handle *bsc_nat_controlif_setup(struct bsc_nat *nat, const char *bind_addr, int port) { diff --git a/openbsc/tests/ctrl_test_runner.py b/openbsc/tests/ctrl_test_runner.py index 4fd831fd3..9050c09a3 100644 --- a/openbsc/tests/ctrl_test_runner.py +++ b/openbsc/tests/ctrl_test_runner.py @@ -219,7 +219,7 @@ class TestCtrlBSC(TestCtrlBase): def testBtsGenerateSystemInformation(self): r = self.do_get('bts.0.send-new-system-informations') self.assertEquals(r['mtype'], 'ERROR') - self.assertEquals(r['error'], 'Write only attribute') + self.assertEquals(r['error'], 'Write Only attribute') # No RSL links so it will fail r = self.do_set('bts.0.send-new-system-informations', '1') @@ -229,7 +229,7 @@ class TestCtrlBSC(TestCtrlBase): def testBtsChannelLoad(self): r = self.do_set('bts.0.channel-load', '1') self.assertEquals(r['mtype'], 'ERROR') - self.assertEquals(r['error'], 'Read only attribute') + self.assertEquals(r['error'], 'Read Only attribute') # No RSL link so everything is 0 r = self.do_get('bts.0.channel-load') @@ -243,7 +243,7 @@ class TestCtrlBSC(TestCtrlBase): """Check OML state. It will not be connected""" r = self.do_set('bts.0.oml-connection-state', '1') self.assertEquals(r['mtype'], 'ERROR') - self.assertEquals(r['error'], 'Read only attribute') + self.assertEquals(r['error'], 'Read Only attribute') # No RSL link so everything is 0 r = self.do_get('bts.0.oml-connection-state') @@ -531,7 +531,7 @@ class TestCtrlNITB(TestCtrlBase): def testApplyConfiguration(self): r = self.do_get('bts.0.apply-configuration') self.assertEquals(r['mtype'], 'ERROR') - self.assertEquals(r['error'], 'Write only attribute') + self.assertEquals(r['error'], 'Write Only attribute') r = self.do_set('bts.0.apply-configuration', '1') self.assertEquals(r['mtype'], 'SET_REPLY') -- cgit v1.2.3