added xmltree.innerText; fixes #49
This commit is contained in:
parent
c6038dda04
commit
2183bf77a6
7 changed files with 114 additions and 33 deletions
66
tests/reject/tillegaltyperecursion.nim
Normal file
66
tests/reject/tillegaltyperecursion.nim
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
discard """
|
||||
cmd: "nimrod c --threads:on $# $#"
|
||||
errormsg: "illegal recursion in type 'TIRC'"
|
||||
line: 16
|
||||
"""
|
||||
|
||||
import events
|
||||
import sockets
|
||||
import strutils
|
||||
import os
|
||||
|
||||
type
|
||||
TMessageReceivedEventArgs = object of TEventArgs
|
||||
Nick*: string
|
||||
Message*: string
|
||||
TIRC = object
|
||||
EventEmitter: TEventEmitter
|
||||
MessageReceivedHandler*: TEventHandler
|
||||
Socket: TSocket
|
||||
Thread: TThread[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: TThread[TIRC]
|
||||
createThread(thread, handleData, irc)
|
||||
irc.Thread = thread
|
||||
|
||||
|
||||
|
||||
|
||||
when isMainModule:
|
||||
var irc = initIRC()
|
||||
irc.Connect("AmryBot[Nim]","irc.freenode.net",6667)
|
||||
irc.sendRaw("JOIN #nimrod")
|
||||
os.Sleep(4000)
|
||||
Loading…
Add table
Add a link
Reference in a new issue