100 lines
2.6 KiB
Go
100 lines
2.6 KiB
Go
package event
|
|
|
|
//package event
|
|
//
|
|
//import (
|
|
// "fmt"
|
|
// "sync"
|
|
//)
|
|
//
|
|
//var (
|
|
// PrintObject *PrintObjectStruct // 缓存的打印机对象
|
|
// PrintAddrAndIp *PrintAddrAndIpStruct // 缓存打印机地址:[ip:printNo] event 文件包,connect只能获取到addr
|
|
// PrintIpAndAddr *PrintIpAndAddrStruct // 缓存打印机地址:[printNo:ip] api_controller 只能获取到printNo
|
|
//)
|
|
//
|
|
//func init() {
|
|
// fmt.Println("初始化打印机对象")
|
|
// PrintObject = &PrintObjectStruct{
|
|
// PrintObject: make(map[string]*TcpClient),
|
|
// RWMutex: new(sync.RWMutex),
|
|
// }
|
|
// PrintAddrAndIp = &PrintAddrAndIpStruct{
|
|
// PrintObject: make(map[string]string),
|
|
// RWMutex: new(sync.RWMutex),
|
|
// }
|
|
// PrintIpAndAddr = &PrintIpAndAddrStruct{
|
|
// PrintObject: make(map[string]string),
|
|
// RWMutex: new(sync.RWMutex),
|
|
// }
|
|
//}
|
|
//
|
|
//type PrintObjectStruct struct {
|
|
// PrintObject map[string]*TcpClient
|
|
// *sync.RWMutex
|
|
//}
|
|
//
|
|
//func (p *PrintObjectStruct) GetPrintObj(printNo string) (*TcpClient, bool) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// tcpObj, ok := PrintObject.PrintObject[printNo]
|
|
// return tcpObj, ok
|
|
//}
|
|
//func (p *PrintObjectStruct) SetPrintObj(printNo string, tcpObj *TcpClient) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// PrintObject.PrintObject[printNo] = tcpObj
|
|
//}
|
|
//
|
|
//func (p *PrintObjectStruct) DelPrintObj(printNo string) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// delete(PrintObject.PrintObject, printNo)
|
|
//}
|
|
//
|
|
//type PrintAddrAndIpStruct struct {
|
|
// PrintObject map[string]string
|
|
// *sync.RWMutex
|
|
//}
|
|
//
|
|
//func (p *PrintAddrAndIpStruct) GetPrintAddrAndIp(ip string) (string, bool) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// printNo, ok := PrintAddrAndIp.PrintObject[ip]
|
|
// return printNo, ok
|
|
//}
|
|
//func (p *PrintAddrAndIpStruct) SetPrintAddrAndIp(ip string, printNo string) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// PrintAddrAndIp.PrintObject[ip] = printNo
|
|
//}
|
|
//
|
|
//func (p *PrintAddrAndIpStruct) DelPrintAddrAndIp(ip string) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// delete(PrintAddrAndIp.PrintObject, ip)
|
|
//}
|
|
//
|
|
//type PrintIpAndAddrStruct struct {
|
|
// PrintObject map[string]string
|
|
// *sync.RWMutex
|
|
//}
|
|
//
|
|
//func (p *PrintIpAndAddrStruct) GetPrintIpAndAddr(printNo string) (string, bool) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// tcpObj, ok := PrintIpAndAddr.PrintObject[printNo]
|
|
// return tcpObj, ok
|
|
//}
|
|
//func (p *PrintIpAndAddrStruct) SetPrintIpAndAddr(printNo string, ip string) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// PrintIpAndAddr.PrintObject[printNo] = ip
|
|
//}
|
|
//
|
|
//func (p *PrintIpAndAddrStruct) DelPrintIpAndAddr(printNo string) {
|
|
// p.RLock()
|
|
// defer p.RUnlock()
|
|
// delete(PrintIpAndAddr.PrintObject, printNo)
|
|
//}
|