1 29 38 39 package org.planetamessenger.protocols.comvc; 40 41 import org.planetamessenger.plugin.*; 42 43 44 public class JComVcPlugin extends JPlugin implements JMessengerEventListener { 45 46 JComVcSession session = null; 47 JUserDetails userDetails = null; 48 49 53 public JComVcPlugin() { 54 55 } 56 57 61 public void onCreate() { 62 63 super.onCreate(); 64 65 userDetails = new JUserDetails(); 66 session = new JComVcSession(); 67 session.addComVcEventListener( new JComVcEventImpl( this ) ); 68 addMessengerEventListener( this ); 69 70 addStatus( JPlugin.STATUS_ONLINE, new Integer ( JComVcConstants.STATUS_ONLINE ) ); 72 addStatus( JPlugin.STATUS_OFFLINE, new Integer ( JComVcConstants.STATUS_OFFLINE ) ); 73 addStatus( JPlugin.STATUS_INVISIBLE, new Integer ( JComVcConstants.STATUS_INVISIBLE ) ); 74 addStatus( JPlugin.STATUS_AWAY, new Integer ( JComVcConstants.STATUS_AWAY ) ); 75 } 76 77 81 public void onLogin( int nPluginStatus ) { 82 83 userDetails.setUserId( Long.parseLong( getUserId() ) ); 84 userDetails.setPassword( getPassword() ); 85 session.setUser( userDetails ); 86 addToLibContactList(); 87 88 session.login( ( ( Integer ) translateStatusToPlugin( nPluginStatus ) ).intValue() ); 89 } 90 91 94 public void onLogout() { 95 96 session.logout(); 97 session.clearContactList(); 98 } 99 100 104 public void onAddUserToContactList( java.lang.String strUserId ) { 105 106 try { 107 session.addToContactList( Long.parseLong( strUserId ), true ); 108 } catch( java.lang.NumberFormatException e ) { 109 System.err.println( "JComVcPlugin.onAddUserToContactList(" + strUserId + ") - Error to add user" ); 110 } 111 } 112 113 118 public void onRemoveUserFromContactList( java.lang.String strUserId ) { 119 120 session.removeFromContactList( Long.parseLong( strUserId ) ); 121 } 122 123 132 public void onSendMessage( java.lang.String strToUser, java.lang.String msg, int nMsgType ) { 133 134 session.sendMessage( Long.parseLong( strToUser ), msg ); 135 } 136 137 145 public void onRequestAuthorization( java.lang.String strUserId, java.lang.String strNickName ) { 146 147 } 148 149 154 public void onBuddyDetails( java.lang.String strUserId ) { 155 156 try { 157 JBuddyDetails userDetails = session.getBuddyDetails( Long.parseLong( strUserId ) ); 158 159 getKernelManager().getContactListManager().updateScreenName( this, strUserId, userDetails.getNickName() ); 160 161 } catch( java.lang.NumberFormatException e ) { 162 System.err.println( "JComVcPlugin.onBuddyDetails(" + strUserId + ") - Error to get buddy details" ); 163 } 164 } 165 166 170 public void onAuthorizeBuddy( java.lang.String strUserId ) { 171 172 session.authorizeUser( Long.parseLong( strUserId ) ); 173 } 174 175 179 public void onUnauthorizeBuddy( java.lang.String strUserId ) { 180 181 } 182 183 187 public void onPluginStatusChanged( int nStatus ) { 188 189 session.setStatus( ( ( Integer ) translateStatusToPlugin( nStatus ) ).intValue() ); 190 } 191 192 201 public void onRegisterExistingUser( java.lang.String strNickName, java.lang.String strNewUserId, java.lang.String strPasswd ) { 202 203 JUserInfo userInfo = new JUserInfo( strNewUserId, strNickName, strPasswd, JPlugin.STATUS_ONLINE ); 204 205 setUserInfo( userInfo ); 206 fireOnLogin(); 207 } 208 209 218 public void onRegisterNewUser( java.lang.String strNickName, java.lang.StringBuffer strNewUserId, java.lang.String strPasswd ) { 219 220 userDetails.setNick( strNickName ); 221 userDetails.setPassword( strPasswd ); 222 session.setUser( userDetails ); 223 224 if( !session.createNewUser() ) 225 fireOnRegisterUserFailed(); 226 else 227 try { 228 JUserInfo userInfo; 229 230 fireOnRegisterUserSucessfull(); 231 strNewUserId.append( Long.toString( userDetails.getUserId() ) ); 232 userInfo = new JUserInfo( Long.toString( userDetails.getUserId() ), userDetails.getNick(), strPasswd, JPlugin.STATUS_ONLINE ); 233 setUserInfo( userInfo ); 234 fireOnLogin(); 235 } catch( java.lang.NumberFormatException e ) { 236 System.err.println( "JComVcPlugin.onRegisterNewUser(" + strNewUserId + ") - Error to register a new user" ); 237 } 238 } 239 240 244 public void onUnregisterUser() { 245 246 if( isConnected() ) { 247 fireOnLogout(); 248 fireOnUnregisterUserSuccessfull(); 249 } 250 } 251 252 257 public void onChangePassword( java.lang.String strNewPasswd ) { 258 259 if( session.changePassword( session.getUser().getPassword(), strNewPasswd ) ) 260 fireOnPasswordChangedSuccessfull( strNewPasswd ); 261 else 262 fireOnPasswordChangedFailed(); 263 } 264 265 275 public void onChangePrivacy( java.lang.String strUserId, int nPrivacyType ) { 276 277 } 278 279 284 public void onPrivacyChanged() { 285 286 } 287 288 291 public void onPluginPropertiesUpdated() { 292 293 } 294 295 299 void addToLibContactList() { 300 301 if( getKernelManager().getContactListManager() != null ) { 302 java.util.Enumeration eContactList = getKernelManager().getContactListManager().getContactList( this ).keys(); 303 304 while( eContactList.hasMoreElements() ) 305 session.addToContactList( Long.parseLong( eContactList.nextElement().toString() ), false ); 306 } 307 } 308 309 313 public boolean isConnected() { 314 315 if( session.getStatus() != JComVcConstants.STATUS_OFFLINE ) 316 return true; 317 else 318 return false; 319 } 320 321 322 328 329 class JComVcEventImpl implements JComVcEventListener { 330 331 332 JPlugin plugin; 333 334 335 341 JComVcEventImpl( JPlugin plugin ) { 342 343 this.plugin = plugin; 344 } 345 346 352 public void onBuddyRequestAuthorization( long nUserId, java.lang.String strNickName ) { 353 354 plugin.fireOnBuddyRequestAuthorization( Long.toString( nUserId ), strNickName ); 355 } 356 357 362 public void onBuddyStatusChanged( long nUserId, int nNewStatus ) { 363 364 plugin.fireOnBuddyStatusChanged( Long.toString( nUserId ), translateStatusFromPlugin( new Integer ( nNewStatus ) ) ); 365 } 366 367 373 public void onChangePasswordError( long nUserId ) { 374 375 } 376 377 383 public void onCreateUserError() { 384 385 } 386 387 394 public void onLoginAccepted( long nUserId ) { 395 396 plugin.fireOnLoginAccepted(); 397 plugin.fireOnRegisterUserSucessfull(); } 399 400 406 public void onLoginError( long nUserId ) { 407 408 plugin.fireOnLoginFailed(); 409 fireOnRegisterUserFailed(); } 411 412 418 public void onMessageError( long nToUser ) { 419 420 } 421 422 428 public void onMessageSent( long nToUser ) { 429 430 } 431 432 438 public void onPasswordChanged(long nUserId) { 439 440 } 441 442 448 public void onReceiveMessage( long nFromUser, java.util.GregorianCalendar date, java.lang.String strMessage ) { 449 450 plugin.fireOnReceiveMessage( Long.toString( nFromUser ), date, strMessage ); 451 } 452 453 459 public void onSendMessage( long nToUser, java.lang.String msg ) { 460 461 } 462 463 469 public void onStatusChanged( int nNewStatus ) { 470 471 if( nNewStatus == JComVcConstants.STATUS_OFFLINE ) 472 fireOnLogout(); 473 else 474 plugin.fireOnPluginStatusChanged( translateStatusFromPlugin( new Integer ( nNewStatus ) ) ); 475 } 476 477 483 public void onStatusError( int nStatus ) { 484 485 } 486 487 493 public void onUserCreated( long nNewUserId ) { 494 495 } 496 497 } 499 } | Popular Tags |