Пример #1
0
		private void HandleUpdate(String flap) {

			StringTokenizer stk = new StringTokenizer(flap,':');

			string screenName = stk.ReadToken();

			BuddyInfo buddy = Buddies[screenName];

			if(buddy != null) {

				buddy.screenName = screenName;

				buddy.online = stk.ReadToken() == "T";
				buddy.evilAmount = int.Parse(stk.ReadToken());

				long epochDate = long.Parse(stk.ReadToken());
				buddy.signOnTime = new DateTime(1970,1,1).AddSeconds(epochDate);

				int idleMinutes = int.Parse(stk.ReadToken());
				buddy.idleTime = new TimeSpan(0,idleMinutes,0);

				buddy.isOnAol = stk.ReadChar() == 'A';

				switch(stk.ReadChar()) {
					case 'A':
						buddy.userClass = BuddyUserClass.Admin;
						break;
					case 'U':
						buddy.userClass = BuddyUserClass.Unconfirmed;
						break;
					default:
						buddy.userClass = BuddyUserClass.Normal;
						break;
				}

				if(stk.HasMoreTokens) {
					buddy.isAvailable = stk.ReadChar() != 'U';
				} 
				else {
					buddy.isAvailable = true;
				}

				if(BuddyUpdate != null) {
					BuddyUpdate(this, new BuddyUpdateEventArgs(buddy));
				}
			}
			
		}