Esempio n. 1
0
func Subscribe(m interfaces.MCP, sub *messages.Subscription) *messages.Error {
	var merr *messages.Error
	if err := m.Call(nil, m.GetResource(), messages.MethodSubscribe, []interface{}{sub}, &[]interface{}{&merr}); err != nil {
		return err
	}
	return merr
}
Esempio n. 2
0
func EmitEvent(m interfaces.MCP, ev *messages.Event) *messages.Error {
	var merr *messages.Error
	if err := m.Call(nil, m.GetResource(), messages.MethodEmitEvent, []interface{}{ev}, &[]interface{}{&merr}); err != nil {
		return err
	}
	return merr
}
Esempio n. 3
0
func GetLongDesc(m interfaces.MCP, resource string) (string, *messages.Error) {
	var desc string
	var merr *messages.Error
	if err := m.Call(LookAt, resource, messages.MethodGetLongDesc, nil, &[]interface{}{&desc, &merr}); err != nil {
		return "", err
	}
	return desc, merr
}
Esempio n. 4
0
func GetContainer(m interfaces.MCP, resource string) (string, *messages.Error) {
	var container string
	var merr *messages.Error
	if err := m.Call(LookUp, resource, messages.MethodGetContainer, nil, &[]interface{}{&container, &merr}); err != nil {
		return "", err
	}
	return container, merr
}
Esempio n. 5
0
func SendToClient(m interfaces.MCP, msg string) {
	var merr *messages.Error
	if err := m.Call(nil, m.GetResource(), messages.MethodSendToClient, []string{msg}, &[]interface{}{&merr}); err != nil {
		log.Fatal(err)
	}
	if merr != nil {
		log.Fatal(merr)
	}
}
Esempio n. 6
0
func GetShortDesc(m interfaces.MCP, resource string) (*messages.ShortDesc, *messages.Error) {
	desc, found := cache.get(resource)
	if found {
		return desc, nil
	}
	var merr *messages.Error
	if err := m.Call(GlanceAt, resource, messages.MethodGetShortDesc, nil, &[]interface{}{&desc, &merr}); err != nil {
		return nil, err
	}
	if merr != nil {
		return nil, merr
	}
	cache.set(resource, desc)
	return desc, nil
}
Esempio n. 7
0
func GetContent(m interfaces.MCP, resource string) ([]string, *messages.Error) {
	container, err := GetContainer(m, m.GetResource())
	if err != nil {
		return nil, err
	}
	verb := LookInto
	if resource == container {
		verb = LookAround
	}
	var content []string
	var merr *messages.Error
	if err := m.Call(verb, resource, messages.MethodGetContent, nil, &[]interface{}{&content, &merr}); err != nil {
		return nil, err
	}
	return content, merr
}