Monday, November 08, 2010 at 12:06 AM.
system.verbs.builtins.tcp.im.builtinDrivers.jabber.code.init
on init () { <<Changes <<7/30/02; 3:15:00 PM by JES <<Initialize user.im.jabber.prefs.flConnectAtStartup to false. <<7/30/02; 2:08:33 PM by JES <<Init user.im.jabber.flActive to false instead of true. If running in Frontier, set user.im.jabber.resource to Frontier instead of RadioUserLand. <<5/14/02; 1:51:34 PM by JB <<Changelog created. <<Initializes the data at user.im.jabber on niceCreateTable ( adr ) { if not defined(adr^) { new (tableType, adr)}}; on niceSetString (adr, str) { if not defined(adr^) { adr^ = str}}; on niceSetBool (adr, val) { if not defined(adr^) { adr^ = val}}; on niceSetNum (adr, num) { if not defined(adr^) { adr^ = num}}; on niceSetAdr (adr, a) { if not defined(adr^) { adr^ = a}}; bundle { // cleanup old mess try { delete ( @user.jabber ); }; try { delete ( @system.verbs.builtins.jabber ) }; try { delete ( @Frontier.protocols.jabber ); }}; niceCreateTable( @user.im.jabber ); bundle { // user, password, host, port niceSetString ( @user.im.jabber.host, "" ); if defined (user.radio.usernum) { niceSetString ( @user.im.jabber.username, string(user.radio.usernum) )} else { niceSetString ( @user.im.jabber.username, string.dropNonAlphas(user.prefs.name) )}; niceSetString ( @user.im.jabber.password, string.dropNonAlphas(string.getRandomPassword(10) ) ); niceSetNum ( @user.im.jabber.port, 5222 ); niceSetBool ( @user.im.jabber.flActive, false ); if system.environment.isRadio { niceSetString ( @user.im.jabber.resource, "RadioUserLand" )} else { niceSetString ( @user.im.jabber.resource, "Frontier" )}; niceCreateTable( @user.im.jabber.handlers )}; bundle { // default registration info local (regInfo = @user.im.jabber.registrationInfo); niceCreateTable(regInfo); niceSetString ( @regInfo^.address, "n/a" ); niceSetString ( @regInfo^.city, "n/a" ); niceSetString ( @regInfo^.date, "n/a" ); try { // is user.prefs.mailAddress, reasonably guarenteed to exist? niceSetString ( @regInfo^.email, user.prefs.mailAddress )} else { niceSetString ( @regInfo^.email, "unknown@aVeryInvalidHost.org" )}; niceSetString ( @regInfo^.first, string.firstWord(user.prefs.name) ); if string.firstWord(user.prefs.name) != string.lastWord(user.prefs.name) { niceSetString(@regInfo^.last, string.lastWord(user.prefs.name))} else { niceSetString(@regInfo^.last, "")}; niceSetString ( @regInfo^.misc, "none"); niceSetString ( @regInfo^.name, user.prefs.name ); niceSetString ( @regInfo^.nick, user.prefs.name ); niceSetString ( @regInfo^.password, user.im.jabber.password ); niceSetString ( @regInfo^.phone, "n/a" ); niceSetString ( @regInfo^.state, "n/a" ); niceSetString ( @regInfo^.url, "n/a" ); niceSetString ( @regInfo^.username, user.im.jabber.username ); niceSetString ( @regInfo^.zip, "n/a" )}; bundle { // prefs table local (prefs = @user.im.jabber.prefs ); niceCreateTable ( prefs ); niceSetBool ( @prefs^.flDebug, false ); <<niceSetBool ( @prefs^.forceActive, false ) // might be used later niceSetBool ( @prefs^.flConnectAtStartup, false ); niceSetNum ( @prefs^.streamScanFrequency, 30 )}; // half a second bundle { // system.temp tables niceCreateTable ( @system.temp.jabber ); niceCreateTable ( @system.temp.jabber.connections ); niceCreateTable ( @system.temp.jabber.idTables ); niceSetNum ( @user.im.jabber.idCnt, 1 )}; return (@user.im.jabber)}; bundle { //test code init()}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.