Skip to content

Commit 57d99cb

Browse files
committed
added event definitions for server events
1 parent b27687c commit 57d99cb

1 file changed

Lines changed: 57 additions & 25 deletions

File tree

src/modbus-server.ts

Lines changed: 57 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { EventEmitter } from 'events'
22
import { Socket } from 'net'
3+
import ModbusAbstractRequest from './abstract-request'
34
import { BooleanArray } from './constants'
45
import ModbusServerClient from './modbus-server-client'
56

7+
type AbstractRequest = ModbusAbstractRequest
8+
69
export interface IModbusServerOptions {
710
coils: Buffer
811
discrete: Buffer
@@ -17,7 +20,7 @@ const DEFAULT_MODBUS_SERVER_OPTIONS: IModbusServerOptions = {
1720
input: Buffer.alloc(1024)
1821
}
1922

20-
export type BufferCallback = (buffer: Buffer) => void
23+
export type BufferCB = (buffer: Buffer) => void
2124

2225
export default class ModbusServer extends EventEmitter {
2326
private _options: IModbusServerOptions
@@ -59,40 +62,69 @@ export default class ModbusServer extends EventEmitter {
5962
return this._input
6063
}
6164

65+
public on (event: 'connection', listener: (client: ModbusServerClient<any, any, any>) => void): this
66+
public on (event: 'readCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this
67+
public on (event: 'preReadCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this
68+
public on (event: 'postReadCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this
69+
public on (event: 'readDiscreteInputs', listener: (request: AbstractRequest, cb: BufferCB) => void): this
70+
public on (event: 'preReadDiscreteInputs', listener: (request: AbstractRequest, cb: BufferCB) => void): this
71+
public on (event: 'postReadDiscreteInputs', listener: (request: AbstractRequest, cb: BufferCB) => void): this
72+
public on (event: 'readHoldingRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
73+
public on (event: 'preReadHoldingRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
74+
public on (event: 'postReadHoldingRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
75+
public on (event: 'readInputRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
76+
public on (event: 'preReadInputRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
77+
public on (event: 'postReadInputRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
78+
public on (event: 'writeSingleCoil', listener: (request: AbstractRequest, cb: BufferCB) => void): this
79+
public on (event: 'preWriteSingleCoil', listener: (request: AbstractRequest, cb: BufferCB) => void): this
80+
public on (event: 'postWriteSingleCoil', listener: (request: AbstractRequest, cb: BufferCB) => void): this
81+
public on (event: 'writeSingleRegister', listener: (request: AbstractRequest, cb: BufferCB) => void): this
82+
public on (event: 'preWriteSingleRegister', listener: (request: AbstractRequest, cb: BufferCB) => void): this
83+
public on (event: 'postWriteSingleRegister', listener: (request: AbstractRequest, cb: BufferCB) => void): this
84+
public on (event: 'writeMultipleCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this
85+
public on (event: 'preWriteMultipleCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this
86+
public on (event: 'writeMultipleCoils', listener: (coils: Buffer, oldStatus: BooleanArray) => void): this
87+
public on (event: 'postWriteMultipleCoils', listener: (coils: Buffer, newStatus: BooleanArray) => void): this
88+
public on (event: 'postWriteMultipleCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this
89+
public on (event: 'writeMultipleRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
90+
public on (event: 'preWriteMultipleRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
91+
public on (event: 'writeMultipleRegisters', listener: (holdingRegisters: Buffer) => void): this
92+
public on (event: 'postWriteMultipleRegisters', listener: (holdingRegisters: Buffer) => void): this
93+
public on (event: 'postWriteMultipleRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this
6294
public on (event: 'connection', listener: (socket: Socket) => void): this
6395
public on (event: string | symbol, listener: (...args: any[]) => void): this {
6496
return super.on(event, listener)
6597
}
6698

6799
public emit (event: 'connection', client: ModbusServerClient<any, any, any>): boolean
68-
public emit (event: 'readCoils', request: any, cb: BufferCallback): boolean
69-
public emit (event: 'preReadCoils', request: any, cb: BufferCallback): boolean
70-
public emit (event: 'postReadCoils', request: any, cb: BufferCallback): boolean
71-
public emit (event: 'readDiscreteInputs', request: any, cb: BufferCallback): boolean
72-
public emit (event: 'preReadDiscreteInputs', request: any, cb: BufferCallback): boolean
73-
public emit (event: 'postReadDiscreteInputs', request: any, cb: BufferCallback): boolean
74-
public emit (event: 'readHoldingRegisters', request: any, cb: BufferCallback): boolean
75-
public emit (event: 'preReadHoldingRegisters', request: any, cb: BufferCallback): boolean
76-
public emit (event: 'postReadHoldingRegisters', request: any, cb: BufferCallback): boolean
77-
public emit (event: 'readInputRegisters', request: any, cb: BufferCallback): boolean
78-
public emit (event: 'preReadInputRegisters', request: any, cb: BufferCallback): boolean
79-
public emit (event: 'postReadInputRegisters', request: any, cb: BufferCallback): boolean
80-
public emit (event: 'writeSingleCoil', request: any, cb: BufferCallback): boolean
81-
public emit (event: 'preWriteSingleCoil', request: any, cb: BufferCallback): boolean
82-
public emit (event: 'postWriteSingleCoil', request: any, cb: BufferCallback): boolean
83-
public emit (event: 'writeSingleRegister', request: any, cb: BufferCallback): boolean
84-
public emit (event: 'preWriteSingleRegister', request: any, cb: BufferCallback): boolean
85-
public emit (event: 'postWriteSingleRegister', request: any, cb: BufferCallback): boolean
86-
public emit (event: 'writeMultipleCoils', request: any, cb: BufferCallback): boolean
87-
public emit (event: 'preWriteMultipleCoils', request: any, cb: BufferCallback): boolean
100+
public emit (event: 'readCoils', request: AbstractRequest, cb: BufferCB): boolean
101+
public emit (event: 'preReadCoils', request: AbstractRequest, cb: BufferCB): boolean
102+
public emit (event: 'postReadCoils', request: AbstractRequest, cb: BufferCB): boolean
103+
public emit (event: 'readDiscreteInputs', request: AbstractRequest, cb: BufferCB): boolean
104+
public emit (event: 'preReadDiscreteInputs', request: AbstractRequest, cb: BufferCB): boolean
105+
public emit (event: 'postReadDiscreteInputs', request: AbstractRequest, cb: BufferCB): boolean
106+
public emit (event: 'readHoldingRegisters', request: AbstractRequest, cb: BufferCB): boolean
107+
public emit (event: 'preReadHoldingRegisters', request: AbstractRequest, cb: BufferCB): boolean
108+
public emit (event: 'postReadHoldingRegisters', request: AbstractRequest, cb: BufferCB): boolean
109+
public emit (event: 'readInputRegisters', request: AbstractRequest, cb: BufferCB): boolean
110+
public emit (event: 'preReadInputRegisters', request: AbstractRequest, cb: BufferCB): boolean
111+
public emit (event: 'postReadInputRegisters', request: AbstractRequest, cb: BufferCB): boolean
112+
public emit (event: 'writeSingleCoil', request: AbstractRequest, cb: BufferCB): boolean
113+
public emit (event: 'preWriteSingleCoil', request: AbstractRequest, cb: BufferCB): boolean
114+
public emit (event: 'postWriteSingleCoil', request: AbstractRequest, cb: BufferCB): boolean
115+
public emit (event: 'writeSingleRegister', request: AbstractRequest, cb: BufferCB): boolean
116+
public emit (event: 'preWriteSingleRegister', request: AbstractRequest, cb: BufferCB): boolean
117+
public emit (event: 'postWriteSingleRegister', request: AbstractRequest, cb: BufferCB): boolean
118+
public emit (event: 'writeMultipleCoils', request: AbstractRequest, cb: BufferCB): boolean
119+
public emit (event: 'preWriteMultipleCoils', request: AbstractRequest, cb: BufferCB): boolean
88120
public emit (event: 'writeMultipleCoils', coils: Buffer, oldStatus: BooleanArray): boolean
89121
public emit (event: 'postWriteMultipleCoils', coils: Buffer, newStatus: BooleanArray): boolean
90-
public emit (event: 'postWriteMultipleCoils', request: any, cb: BufferCallback): boolean
91-
public emit (event: 'writeMultipleRegisters', request: any, cb: BufferCallback): boolean
92-
public emit (event: 'preWriteMultipleRegisters', request: any, cb: BufferCallback): boolean
122+
public emit (event: 'postWriteMultipleCoils', request: AbstractRequest, cb: BufferCB): boolean
123+
public emit (event: 'writeMultipleRegisters', request: AbstractRequest, cb: BufferCB): boolean
124+
public emit (event: 'preWriteMultipleRegisters', request: AbstractRequest, cb: BufferCB): boolean
93125
public emit (event: 'writeMultipleRegisters', holdingRegisters: Buffer): boolean
94126
public emit (event: 'postWriteMultipleRegisters', holdingRegisters: Buffer): boolean
95-
public emit (event: 'postWriteMultipleRegisters', request: any, cb: BufferCallback): boolean
127+
public emit (event: 'postWriteMultipleRegisters', request: AbstractRequest, cb: BufferCB): boolean
96128
public emit (event: string | symbol, ...args: any[]): boolean {
97129
return super.emit(event, ...args)
98130
}

0 commit comments

Comments
 (0)