mirror of
https://github.com/nim-lang/Nim.git
synced 2026-05-04 13:04:44 +00:00
remove some deprecated pre-1.0 stdlib modules (#20202)
* remove pre-1.0 stdlib deprecations notable exceptions: * ze, toU8 etc in system/arithmetics * potentially callsite * undo macros, ospaths, securehash, oswalkdir * add sets back * add back future, document deprecated versions * add to changelog [skip ci]
This commit is contained in:
@@ -1,48 +0,0 @@
|
||||
discard """
|
||||
output: '''
|
||||
HandlePrintEvent: Output -> Handled print event
|
||||
HandlePrintEvent2: Output -> printing for ME
|
||||
HandlePrintEvent2: Output -> printing for ME
|
||||
'''
|
||||
"""
|
||||
|
||||
import events
|
||||
|
||||
type
|
||||
PrintEventArgs = object of EventArgs
|
||||
user*: string
|
||||
|
||||
proc handleprintevent*(e: EventArgs) =
|
||||
write(stdout, "HandlePrintEvent: Output -> Handled print event\n")
|
||||
|
||||
proc handleprintevent2*(e: EventArgs) =
|
||||
var args: PrintEventArgs = PrintEventArgs(e)
|
||||
write(stdout, "HandlePrintEvent2: Output -> printing for " & args.user)
|
||||
|
||||
var ee = initEventEmitter()
|
||||
|
||||
var eventargs: PrintEventArgs
|
||||
eventargs.user = "ME\n"
|
||||
|
||||
##method one test
|
||||
|
||||
ee.on("print", handleprintevent)
|
||||
ee.on("print", handleprintevent2)
|
||||
|
||||
ee.emit("print", eventargs)
|
||||
|
||||
##method two test
|
||||
|
||||
type
|
||||
SomeObject = object of RootObj
|
||||
printEvent: EventHandler
|
||||
|
||||
var obj: SomeObject
|
||||
obj.printEvent = initEventHandler("print")
|
||||
obj.printEvent.addHandler(handleprintevent2)
|
||||
|
||||
ee.emit(obj.printEvent, eventargs)
|
||||
|
||||
obj.printEvent.removeHandler(handleprintevent2)
|
||||
|
||||
ee.emit(obj.printEvent, eventargs)
|
||||
@@ -1,66 +1,17 @@
|
||||
discard """
|
||||
cmd: "nim $target --threads:on $options $file"
|
||||
errormsg: "illegal recursion in type 'TIRC'"
|
||||
line: 16
|
||||
line: 12
|
||||
"""
|
||||
|
||||
import events
|
||||
import net
|
||||
import strutils
|
||||
import os
|
||||
|
||||
type
|
||||
TMessageReceivedEventArgs = object of EventArgs
|
||||
Nick*: string
|
||||
Message*: string
|
||||
TIRC = object
|
||||
EventEmitter: EventEmitter
|
||||
MessageReceivedHandler*: EventHandler
|
||||
Socket: Socket
|
||||
Thread: Thread[TIRC]
|
||||
|
||||
proc initIRC*(): TIRC =
|
||||
result.Socket = socket()
|
||||
result.EventEmitter = initEventEmitter()
|
||||
result.MessageReceivedHandler = initEventHandler("MessageReceived")
|
||||
|
||||
proc IsConnected*(irc: var TIRC): bool =
|
||||
return running(irc.Thread)
|
||||
|
||||
|
||||
proc sendRaw*(irc: var TIRC, message: string) =
|
||||
irc.Socket.send(message & "\r\L")
|
||||
proc handleData(irc: TIRC) {.thread.} =
|
||||
var connected = False
|
||||
while connected:
|
||||
var tup = @[irc.Socket]
|
||||
var o = select(tup, 200)
|
||||
echo($o)
|
||||
echo($len(tup))
|
||||
if len(tup) == 1:
|
||||
#Connected
|
||||
connected = True
|
||||
|
||||
#Parse data here
|
||||
|
||||
else:
|
||||
#Disconnected
|
||||
connected = False
|
||||
return
|
||||
|
||||
proc Connect*(irc: var TIRC, nick: string, host: string, port: int = 6667) =
|
||||
connect(irc.Socket, host, TPort(port), TDomain.AF_INET)
|
||||
send(irc.Socket,"USER " & nick & " " & nick & " " & nick & " " & nick & "\r\L")
|
||||
send(irc.Socket,"NICK " & nick & "\r\L")
|
||||
var thread: Thread[TIRC]
|
||||
createThread(thread, handleData, irc)
|
||||
irc.Thread = thread
|
||||
|
||||
|
||||
|
||||
|
||||
when true:
|
||||
var irc = initIRC()
|
||||
irc.Connect("AmryBot[Nim]","irc.freenode.net",6667)
|
||||
irc.sendRaw("JOIN #nim")
|
||||
os.Sleep(4000)
|
||||
|
||||
Reference in New Issue
Block a user