Documentation ¶
Index ¶
- Variables
- func CadDateTime(orig string) time.Time
- func CadDateTimeShort(orig string) time.Time
- func RegisterCadMonitor(name string, m func() CadMonitor)
- type AegisMonitor
- func (c *AegisMonitor) ConfigureFromValues(values map[string]string) error
- func (c *AegisMonitor) GetActiveAndUnassignedCalls() (map[string]CallStatus, error)
- func (c *AegisMonitor) GetActiveCalls() ([]string, error)
- func (c *AegisMonitor) GetClearedCalls(dt string) (map[string]string, error)
- func (c *AegisMonitor) GetStatus(content []byte, id string) (CallStatus, error)
- func (c *AegisMonitor) GetStatusFromURL(url string) (CallStatus, error)
- func (c *AegisMonitor) KeepAlive() error
- func (c *AegisMonitor) LoggedIn() bool
- func (c *AegisMonitor) Login(user, pass string) error
- func (c *AegisMonitor) Monitor(callback func(CallStatus) error, pollInterval int) error
- func (c *AegisMonitor) SetDebug(d bool)
- func (c *AegisMonitor) SetTerminateMonitor(t bool)
- func (c AegisMonitor) TerminateMonitor() bool
- type CadMonitor
- type CallStatus
- type Incident
- type Narrative
- type UnitStatus
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrCadMonitorLoggedOut represents a status where the application needs to reauthenticate ErrCadMonitorLoggedOut = errors.New("logged out") )
Functions ¶
func CadDateTime ¶
func CadDateTimeShort ¶
func RegisterCadMonitor ¶
func RegisterCadMonitor(name string, m func() CadMonitor)
RegisterCadMonitor adds a new CadMonitor instance to the registry
Types ¶
type AegisMonitor ¶
type AegisMonitor struct { // Suffix is the required suffix for units. Leaving blank disables // qualification by this value. Suffix string // LoginURL (example: "http://cadview.qvec.org/NewWorld.CAD.ViewOnly/" // or "http://cadview.qvec.org/") BaseURL string // FDID represents the FDID string which will be right padded to select // only local FDID events. FDID string // Numeric protocol; 0 defaults to latest Protocol int64 // contains filtered or unexported fields }
AegisMonitor represents a CadMonitor for the AEGIS CAD system
func (*AegisMonitor) ConfigureFromValues ¶
func (c *AegisMonitor) ConfigureFromValues(values map[string]string) error
func (*AegisMonitor) GetActiveAndUnassignedCalls ¶
func (c *AegisMonitor) GetActiveAndUnassignedCalls() (map[string]CallStatus, error)
func (*AegisMonitor) GetActiveCalls ¶
func (c *AegisMonitor) GetActiveCalls() ([]string, error)
func (*AegisMonitor) GetClearedCalls ¶
func (c *AegisMonitor) GetClearedCalls(dt string) (map[string]string, error)
GetClearedCalls fetches all cleared calls for specified date in format MM/DD/YYYY.
func (*AegisMonitor) GetStatus ¶
func (c *AegisMonitor) GetStatus(content []byte, id string) (CallStatus, error)
func (*AegisMonitor) GetStatusFromURL ¶
func (c *AegisMonitor) GetStatusFromURL(url string) (CallStatus, error)
func (*AegisMonitor) KeepAlive ¶
func (c *AegisMonitor) KeepAlive() error
func (*AegisMonitor) LoggedIn ¶
func (c *AegisMonitor) LoggedIn() bool
func (*AegisMonitor) Login ¶
func (c *AegisMonitor) Login(user, pass string) error
func (*AegisMonitor) Monitor ¶
func (c *AegisMonitor) Monitor(callback func(CallStatus) error, pollInterval int) error
Monitor runs a monitoring function with a callback function
func (*AegisMonitor) SetDebug ¶
func (c *AegisMonitor) SetDebug(d bool)
SetDebug enables or disables debug
func (*AegisMonitor) SetTerminateMonitor ¶
func (c *AegisMonitor) SetTerminateMonitor(t bool)
func (AegisMonitor) TerminateMonitor ¶
func (c AegisMonitor) TerminateMonitor() bool
type CadMonitor ¶
type CadMonitor interface { // ConfigureFromValues populates fields specific to an implementation of // CadMonitor from a map[string]string. ConfigureFromValues(map[string]string) error // Login authenticates to a CAD system using the provided username and password Login(string, string) error // GetActiveCalls returns a list of active call URLs or identifiers GetActiveCalls() ([]string, error) // GetActiveAndUnassignedCalls returns a list of CallStatus objects for unassigned and // current calls GetActiveAndUnassignedCalls() (map[string]CallStatus, error) // GetStatus given an identifier retrieves a CallStatus entry that describes a call GetStatus([]byte, string) (CallStatus, error) // GetStatusFromURL given an identifier retrieves a CallStatus entry that describes a call GetStatusFromURL(string) (CallStatus, error) // GetClearedCalls retrieves a map of ids for cleared calls for a specific date GetClearedCalls(string) (map[string]string, error) // SetDebug determines whether debug is enabled or not SetDebug(bool) // KeepAlive represents some manner of maintaining a persistent connection KeepAlive() error TerminateMonitor() bool SetTerminateMonitor(bool) // Monitor actively runs a monitoring function with a callback Monitor(func(CallStatus) error, int) error }
CadMonitor defines the interface for all monitors used to watch CAD systems.
func InstantiateCadMonitor ¶
func InstantiateCadMonitor(name string) (m CadMonitor, err error)
InstantiateCadMonitor instantiates a CadMonitor by name
type CallStatus ¶
type CallStatus struct { gorm.Model `json:"-"` ID string `json:"id" gorm:"-"` CallID string `json:"call_id" gorm:"size:64,uniqueIndex:call_idx"` CallTime time.Time `json:"call_time" gorm:"uniqueIndex:call_idx"` DispatchTime time.Time `json:"dispatch_time" gorm:"index"` ArrivalTime sql.NullTime `json:"arrival_time"` CallType string `json:"call_type"` CallerPhone string `json:"caller_phone" gorm:"size:32"` NatureOfCall string `json:"nature_of_call" gorm:"index"` Location string `json:"location" gorm:"index"` District string `json:"district"` CrossStreets string `json:"cross_streets"` Priority int `json:"priority" gorm:"index"` Incidents []Incident `json:"incidents" db:"-" gorm:"foreignKey:CallStatusID"` Narratives []Narrative `json:"narratives" db:"-" gorm:"foreignKey:CallStatusID"` Units []UnitStatus `json:"units" db:"-" gorm:"foreignKey:CallStatusID"` UnitStatusMap map[string]UnitStatus `json:"unit_status_map" db:"-" gorm:"-" sql:"-"` LastUpdated time.Time `json:"last_updated"` RawHTML string `json:"raw_html"` }
type UnitStatus ¶
type UnitStatus struct { gorm.Model `json:"-"` CallStatusID string `json:"cs_id" gorm:"uniqueIndex:unit_idx;size:64"` Unit string `json:"unit" gorm:"size:32;uniqueIndex:unit_idx"` Status string `json:"status"` DispatchTime string `json:"dispatch_time" gorm:"index"` EnRouteTime string `json:"enroute_time" gorm:"index"` ArrivedTime string `json:"arrived_time" gorm:"index"` ClearedTime string `json:"cleared_time"` }
Click to show internal directories.
Click to hide internal directories.