stream_peer_ssl.h 740 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef STREAM_PEER_SSL_H
  2. #define STREAM_PEER_SSL_H
  3. #include "io/stream_peer.h"
  4. class StreamPeerSSL : public StreamPeer {
  5. OBJ_TYPE(StreamPeerSSL,StreamPeer);
  6. protected:
  7. static StreamPeerSSL* (*_create)();
  8. static void _bind_methods();
  9. public:
  10. enum Status {
  11. STATUS_DISCONNECTED,
  12. STATUS_CONNECTED,
  13. STATUS_ERROR_NO_CERTIFICATE,
  14. STATUS_ERROR_HOSTNAME_MISMATCH
  15. };
  16. virtual Error accept(Ref<StreamPeer> p_base)=0;
  17. virtual Error connect(Ref<StreamPeer> p_base,bool p_validate_certs=false,const String& p_for_hostname=String())=0;
  18. virtual Status get_status() const=0;
  19. virtual void disconnect()=0;
  20. static StreamPeerSSL* create();
  21. StreamPeerSSL();
  22. };
  23. VARIANT_ENUM_CAST( StreamPeerSSL::Status );
  24. #endif // STREAM_PEER_SSL_H