From 2be5e726ee457ced61984fe999413fb5db2ce60d Mon Sep 17 00:00:00 2001 From: DanB Date: Sat, 14 Nov 2015 12:59:07 +0100 Subject: [PATCH] Completing SMGenericV1.Call generic method for internal rpc --- apier/v1/smgenericv1.go | 56 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/apier/v1/smgenericv1.go b/apier/v1/smgenericv1.go index b40dd7cdf..4ccfb2afb 100644 --- a/apier/v1/smgenericv1.go +++ b/apier/v1/smgenericv1.go @@ -82,6 +82,16 @@ func (self *SMGenericV1) ProcessCdr(ev sessionmanager.SMGenericEvent, reply *str // rpcclient.RpcClientConnection interface func (self *SMGenericV1) Call(serviceMethod string, args interface{}, reply interface{}) error { switch serviceMethod { + case "SMGenericV1.GetMaxUsage": + argsConverted, canConvert := args.(sessionmanager.SMGenericEvent) + if !canConvert { + return rpcclient.ErrWrongArgsType + } + replyConverted, canConvert := args.(*float64) + if !canConvert { + return rpcclient.ErrWrongReplyType + } + self.GetMaxUsage(argsConverted, replyConverted) case "SMGenericV1.GetLcrSuppliers": argsConverted, canConvert := args.(sessionmanager.SMGenericEvent) if !canConvert { @@ -92,12 +102,46 @@ func (self *SMGenericV1) Call(serviceMethod string, args interface{}, reply inte return rpcclient.ErrWrongReplyType } return self.GetLcrSuppliers(argsConverted, replyConverted) - /*smg.handlers["SMGenericV1.GetLcrSuppliers"] = smg.GetLcrSuppliers - smg.handlers["SMGenericV1.SessionStart"] = smg.SessionStart - smg.handlers["SMGenericV1.SessionUpdate"] = smg.SessionUpdate - smg.handlers["SMGenericV1.SessionEnd"] = smg.SessionEnd - smg.handlers["SMGenericV1.ProcessCdr"] = smg.ProcessCdr - */ + case "SMGenericV1.SessionStart": + argsConverted, canConvert := args.(sessionmanager.SMGenericEvent) + if !canConvert { + return rpcclient.ErrWrongArgsType + } + replyConverted, canConvert := args.(*float64) + if !canConvert { + return rpcclient.ErrWrongReplyType + } + return self.SessionStart(argsConverted, replyConverted) + case "SMGenericV1.SessionUpdate": + argsConverted, canConvert := args.(sessionmanager.SMGenericEvent) + if !canConvert { + return rpcclient.ErrWrongArgsType + } + replyConverted, canConvert := args.(*float64) + if !canConvert { + return rpcclient.ErrWrongReplyType + } + return self.SessionUpdate(argsConverted, replyConverted) + case "SMGenericV1.SessionEnd": + argsConverted, canConvert := args.(sessionmanager.SMGenericEvent) + if !canConvert { + return rpcclient.ErrWrongArgsType + } + replyConverted, canConvert := args.(*string) + if !canConvert { + return rpcclient.ErrWrongReplyType + } + return self.SessionEnd(argsConverted, replyConverted) + case "SMGenericV1.ProcessCdr": + argsConverted, canConvert := args.(sessionmanager.SMGenericEvent) + if !canConvert { + return rpcclient.ErrWrongArgsType + } + replyConverted, canConvert := args.(*string) + if !canConvert { + return rpcclient.ErrWrongReplyType + } + return self.SessionEnd(argsConverted, replyConverted) } return rpcclient.ErrUnsupporteServiceMethod }