Package net.solosky.maplefetion.sipc

Examples of net.solosky.maplefetion.sipc.SipcRequest


     * @param buddyList
     * @return
     */
    public SipcRequest createGetContactInfoRequest(String uri)
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.SERVICE);
     
      String body = MessageTemplate.TMPL_GET_CONTACT_INFO;
      body = body.replace("{args}", " uri=\""+uri+"\" version=\"0\" ");
      req.setBody(new SipcBody(body));
     
      req.addHeader(SipcHeader.EVENT, "GetContactInfoV4");
     
      return req;
    }
View Full Code Here


    /**
     * 订阅异步通知
     */
    public SipcRequest createSubscribeRequest()
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.SUBSCRIBE);
      req.addHeader(SipcHeader.EVENT, "PresenceV4");
      req.setBody(new SipcBody(MessageTemplate.TMPL_SUBSCRIBE));
     
      return req;
    }
View Full Code Here

    /**
     * 开始聊天请求
     */
    public SipcRequest createStartChatRequest()
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.SERVICE);
      req.addHeader(SipcHeader.EVENT,"StartChat");
      return req;
    }
View Full Code Here

    /**
     * 注册聊天服务器
     */
    public SipcRequest createRegisterChatRequest(String ticket)
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.REGISTER);
      req.addHeader(SipcHeader.AUTHORIZATION,"TICKS auth=\""+ticket+"\"");
      req.addHeader(SipcHeader.SUPPORTED,"text/html-fragment");
      req.addHeader(SipcHeader.SUPPORTED,"multiparty");
      req.addHeader(SipcHeader.SUPPORTED,"nudge");
      req.addHeader(SipcHeader.SUPPORTED,"share-background");
      req.addHeader(SipcHeader.SUPPORTED,"fetion-show");
     
      return req;
    }
View Full Code Here

      buddy.setUserId(Integer.parseInt(userId));
      BeanHelper.setValue(buddy, "relation", Relation.STRANGER);
      context.getFetionStore().addBuddy(buddy);
      //如果是飞信好友,获取陌生人的信息
      if(buddy instanceof Buddy) {
          SipcRequest request = this.dialog.getMessageFactory().createGetContactInfoRequest(uri);
          request.setResponseHandler(new GetContactInfoResponseHandler(context, dialog, ((Buddy)buddy),null));
          dialog.process(request);
      }
      //通知监听器
      this.tryFireNotifyEvent(new BuddyApplicationEvent( buddy, desc));
    logger.debug("Recived a buddy application:"+desc);
View Full Code Here

          Relation relation = ParseHelper.parseRelation(e.getAttributeValue("relation-status"));
          //如果当前好友关系是没有确认,而返回的好友是确认了,表明好友同意了你添加好友的请求
          if(relation==Relation.BUDDY && buddy.getRelation()!=Relation.BUDDY) {
           
            //这里还需要获取好友的详细信息
            SipcRequest request = dialog.getMessageFactory().createGetContactInfoRequest(buddy.getUri());
            request.setResponseHandler(new GetContactInfoResponseHandler(context, dialog, ((Buddy) buddy),null));
          dialog.process(request);
         
          }else if(relation==Relation.DECLINED) {  //对方拒绝了请求
            logger.debug("buddy declined your buddy request:"+buddy.getDisplayName());
            this.tryFireNotifyEvent(new BuddyConfirmedEvent( buddy, false))//通知监听器
View Full Code Here

    /**
     * 邀请好友加入会话
     */
    public SipcRequest createInvateBuddyRequest(String uri)
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.SERVICE);
     
      String body = MessageTemplate.TMPL_INVATE_BUDDY;
      body = body.replace("{uri}", uri);
     
      req.addHeader(SipcHeader.EVENT,"InviteBuddy");
      req.setBody(new SipcBody(body));
      return req;
    }
View Full Code Here

    /**
     * 飞信秀(有空再研究)
     */
    public SipcRequest createFetionShowRequest()
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.INFO);
//      ByteArrayBuffer buffer = new ByteArrayBuffer(100);
//      buffer.append(MessageTemplate.TMPL_FETION_SHOW_1.getBytes(), 0,MessageTemplate.TMPL_FETION_SHOW_1.getBytes().length);
//      buffer.append(0xE5);
//      buffer.append(0x9B);  //飞信太变态了,这里居然有几个字节无法用字符表示
//      buffer.append(0xA7);
View Full Code Here

     * @param desc
     * @return
     */
    public SipcRequest createAddBuddyRequest(String uri, int promptId, int cordId, String desc, String localName)
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.SERVICE);
      String body = MessageTemplate.TMPL_ADD_BUDDY;
      body = body.replace("{uri}", uri);
      body = body.replace("{promptId}", Integer.toString(promptId));
      body = body.replace("{cordId}", cordId==-1? "": Integer.toString(cordId));
      body = body.replace("{desc}", StringHelper.qouteHtmlSpecialChars(desc));
      body = body.replace("{localName}", localName!=null?"local-name=\""+localName+"\"":"");
     
      req.addHeader(SipcHeader.EVENT,"AddBuddyV4");
      req.setBody(new SipcBody(body));
      return req;
    }
View Full Code Here

     * @param uri
     * @return
     */
    public SipcRequest createDeleteBuddyRequest(int userId)
    {
      SipcRequest req = this.createDefaultSipcRequest(SipcMethod.SERVICE);
      String body = MessageTemplate.TMPL_DELETE_BUDDY;
      body = body.replace("{userId}", Integer.toString(userId));
     
      req.addHeader(SipcHeader.EVENT,"DeleteBuddyV4");
     
      req.setBody(new SipcBody(body));
      return req;
    }
View Full Code Here

TOP

Related Classes of net.solosky.maplefetion.sipc.SipcRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.