github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/go-xorm/core/driver.go (about)

     1  package core
     2  
     3  type Driver interface {
     4  	Parse(string, string) (*Uri, error)
     5  }
     6  
     7  var (
     8  	drivers = map[string]Driver{}
     9  )
    10  
    11  func RegisterDriver(driverName string, driver Driver) {
    12  	if driver == nil {
    13  		panic("core: Register driver is nil")
    14  	}
    15  	if _, dup := drivers[driverName]; dup {
    16  		panic("core: Register called twice for driver " + driverName)
    17  	}
    18  	drivers[driverName] = driver
    19  }
    20  
    21  func QueryDriver(driverName string) Driver {
    22  	return drivers[driverName]
    23  }
    24  
    25  func RegisteredDriverSize() int {
    26  	return len(drivers)
    27  }