/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */#pragma once#include<boost/shared_ptr.hpp>#include<boost/signals.hpp>#include"Swiften/Base/SafeByteArray.h"#include"Swiften/TLS/Certificate.h"#include<Swiften/TLS/CertificateWithKey.h>#include"Swiften/TLS/CertificateVerificationError.h"namespaceSwift{classPKCS12Certificate;classTLSServerContext{public:virtual~TLSServerContext();virtualvoidconnect()=0;virtualboolsetServerCertificate(CertificateWithKey::refcert)=0;virtualvoidhandleDataFromNetwork(constSafeByteArray&)=0;virtualvoidhandleDataFromApplication(constSafeByteArray&)=0;virtualCertificate::refgetPeerCertificate()const=0;virtualCertificateVerificationError::refgetPeerCertificateVerificationError()const=0;virtualByteArraygetFinishMessage()const=0;public:boost::signal<void(constSafeByteArray&)>onDataForNetwork;boost::signal<void(constSafeByteArray&)>onDataForApplication;boost::signal<void()>onError;boost::signal<void()>onConnected;};}