1d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen/** 2d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Copyright 2009 Jonas Ådahl. 3d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Copyright 2011-2013 Florian Schmaus 4d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 5d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); 6d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * you may not use this file except in compliance with the License. 7d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * You may obtain a copy of the License at 8d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 9d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * http://www.apache.org/licenses/LICENSE-2.0 10d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 11d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Unless required by applicable law or agreed to in writing, software 12d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * distributed under the License is distributed on an "AS IS" BASIS, 13d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * See the License for the specific language governing permissions and 15d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * limitations under the License. 16d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 17d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 18d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpackage org.jivesoftware.smackx.entitycaps.packet; 19d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 20d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenimport org.jivesoftware.smack.packet.PacketExtension; 21d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenimport org.jivesoftware.smackx.entitycaps.EntityCapsManager; 22d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 23d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpublic class CapsExtension implements PacketExtension { 24d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 25d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen private String node, ver, hash; 26d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 27d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public CapsExtension() { 28d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 29d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 30d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public CapsExtension(String node, String version, String hash) { 31d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.node = node; 32d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.ver = version; 33d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.hash = hash; 34d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 35d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 36d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getElementName() { 37d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return EntityCapsManager.ELEMENT; 38d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 39d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 40d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getNamespace() { 41d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return EntityCapsManager.NAMESPACE; 42d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 43d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 44d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getNode() { 45d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return node; 46d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 47d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 48d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public void setNode(String node) { 49d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.node = node; 50d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 51d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 52d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getVer() { 53d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return ver; 54d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 55d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 56d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public void setVer(String ver) { 57d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.ver = ver; 58d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 59d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 60d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getHash() { 61d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return hash; 62d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 63d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 64d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public void setHash(String hash) { 65d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.hash = hash; 66d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 67d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 68d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /* 69d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * <c xmlns='http://jabber.org/protocol/caps' 70d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * hash='sha-1' 71d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * node='http://code.google.com/p/exodus' 72d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * ver='QgayPKawpkPSDYmwT/WM94uAlu0='/> 73d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 74d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 75d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String toXML() { 76d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen String xml = "<" + EntityCapsManager.ELEMENT + " xmlns=\"" + EntityCapsManager.NAMESPACE + "\" " + 77d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen "hash=\"" + hash + "\" " + 78d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen "node=\"" + node + "\" " + 79d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen "ver=\"" + ver + "\"/>"; 80d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 81d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return xml; 82d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 83d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen} 84