当前位置: 首页>>代码示例>>Golang>>正文


Golang upnp.Reactor类代码示例

本文整理汇总了Golang中github.com/ianr0bkny/go-sonos/upnp.Reactor的典型用法代码示例。如果您正苦于以下问题:Golang Reactor类的具体用法?Golang Reactor怎么用?Golang Reactor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Reactor类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: handleEvent_TestEventBrief

func handleEvent_TestEventBrief(reactor upnp.Reactor, c chan bool) {
	for {
		select {
		case evt := <-reactor.Channel():
			switch evt.Type() {
			case upnp.AlarmClock_EventType:
				log.Printf("ALARM_CLOCK")
			case upnp.AVTransport_EventType:
				log.Printf("AV_TRANSPORT")
			case upnp.ConnectionManager_EventType:
				log.Printf("CONNECTION_MANAGER")
			case upnp.ContentDirectory_EventType:
				log.Printf("CONTENT_DIRECTORY")
			case upnp.DeviceProperties_EventType:
				log.Printf("DEVICE_PROPERTIES")
			case upnp.GroupManagement_EventType:
				log.Printf("GROUP_MANAGEMENT")
			case upnp.MusicServices_EventType:
				log.Printf("MUSIC_SERVICES")
			case upnp.RenderingControl_EventType:
				log.Printf("RENDERING_CONTROL")
			case upnp.SystemProperties_EventType:
				log.Printf("SYSTEM_PROPERTIES")
			case upnp.ZoneGroupTopology_EventType:
				log.Printf("ZONE_GROUP_TOPOLOGY")
			}
		}
	}
	c <- true
}
开发者ID:chrisabruce,项目名称:go-sonos,代码行数:30,代码来源:sonos_test.go

示例2: handleEvent_TestEvent

func handleEvent_TestEvent(reactor upnp.Reactor, c chan bool) {
	for {
		select {
		case evt := <-reactor.Channel():
			switch evt.Type() {
			case upnp.AlarmClock_EventType:
				b := evt.(upnp.AlarmClockEvent)
				log.Printf("%#v", b)
			case upnp.AVTransport_EventType:
				b := evt.(upnp.AVTransportEvent)
				log.Printf("%#v", b)
			case upnp.ConnectionManager_EventType:
				b := evt.(upnp.ConnectionManagerEvent)
				log.Printf("%#v", b)
			case upnp.ContentDirectory_EventType:
				b := evt.(upnp.ContentDirectoryEvent)
				log.Printf("%#v", b)
			case upnp.DeviceProperties_EventType:
				b := evt.(upnp.DevicePropertiesEvent)
				log.Printf("%#v", b)
			case upnp.GroupManagement_EventType:
				b := evt.(upnp.GroupManagementEvent)
				log.Printf("%#v", b)
			case upnp.MusicServices_EventType:
				b := evt.(upnp.MusicServicesEvent)
				log.Printf("%#v", b)
			case upnp.RenderingControl_EventType:
				b := evt.(upnp.RenderingControlEvent)
				log.Printf("%#v", b)
			case upnp.SystemProperties_EventType:
				b := evt.(upnp.SystemPropertiesEvent)
				log.Printf("%#v", b)
			case upnp.ZoneGroupTopology_EventType:
				b := evt.(upnp.ZoneGroupTopologyEvent)
				log.Printf("%#v", b)
			}
		}
	}
	c <- true
}
开发者ID:chrisabruce,项目名称:go-sonos,代码行数:40,代码来源:sonos_test.go

示例3: MakeReciva

func MakeReciva(svc_map upnp.ServiceMap, reactor upnp.Reactor, flags int) (reciva *Reciva) {
	reciva = &Reciva{}
	for svc_type, svc_list := range svc_map {
		switch svc_type {
		case "AVTransport":
			for _, svc := range svc_list {
				reciva.AVTransport.Svc = svc
				svc.Describe()
				if nil != reactor {
					reactor.Subscribe(svc, &reciva.AVTransport)
				}
				break
			}
		case "ConnectionManager":
			for _, svc := range svc_list {
				reciva.ConnectionManager.Svc = svc
				svc.Describe()
				if nil != reactor {
					reactor.Subscribe(svc, &reciva.ConnectionManager)
				}
				break
			}
		case "Playlist":
			for _, svc := range svc_list {
				reciva.Playlist.Svc = svc
				svc.Describe()
				if nil != reactor {
					reactor.Subscribe(svc, &reciva.Playlist)
				}
				break
			}
		case "RecivaRadio":
			for _, svc := range svc_list {
				reciva.RecivaRadio.Svc = svc
				svc.Describe()
				if nil != reactor {
					reactor.Subscribe(svc, &reciva.RecivaRadio)
				}
				break
			}
		case "RecivaSimpleRemote":
			for _, svc := range svc_list {
				reciva.RecivaSimpleRemote.Svc = svc
				svc.Describe()
				if nil != reactor {
					reactor.Subscribe(svc, &reciva.RecivaSimpleRemote)
				}
				break
			}
		case "RenderingControl":
			for _, svc := range svc_list {
				reciva.RenderingControl.Svc = svc
				svc.Describe()
				if nil != reactor {
					reactor.Subscribe(svc, &reciva.RenderingControl)
				}
				break
			}
		}
	}
	return
}
开发者ID:chrisabruce,项目名称:go-sonos,代码行数:62,代码来源:reciva.go

示例4: MakeSonos

func MakeSonos(svc_map upnp.ServiceMap, reactor upnp.Reactor, flags int) (sonos *Sonos) {
	sonos = &Sonos{}
	for svc_type, svc_list := range svc_map {
		if !sonosCheckServiceFlags(svc_type, flags) {
			continue
		}
		switch svc_type {
		case "AlarmClock":
			for _, svc := range svc_list {
				sonos.AlarmClock.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "AVTransport":
			for _, svc := range svc_list {
				sonos.AVTransport.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "ConnectionManager":
			for _, svc := range svc_list {
				sonos.ConnectionManager.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "ContentDirectory":
			for _, svc := range svc_list {
				sonos.ContentDirectory.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "DeviceProperties":
			for _, svc := range svc_list {
				sonos.DeviceProperties.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "GroupManagement":
			for _, svc := range svc_list {
				sonos.GroupManagement.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "MusicServices":
			for _, svc := range svc_list {
				sonos.MusicServices.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "RenderingControl":
			for _, svc := range svc_list {
				sonos.RenderingControl.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "SystemProperties":
			for _, svc := range svc_list {
				sonos.SystemProperties.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		case "ZoneGroupTopology":
			for _, svc := range svc_list {
				sonos.ZoneGroupTopology.Svc = svc
				svc.Describe()
				reactor.Subscribe(svc, sonosHandleUpdate)
				break
			}
		}
	}
	return
}
开发者ID:bb,项目名称:go-sonos,代码行数:81,代码来源:sonos.go


注:本文中的github.com/ianr0bkny/go-sonos/upnp.Reactor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。