mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Completing SMGenericV1.Call generic method for internal rpc
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user