Sha256: c69d7dc00de9052f80f0b4a8a381bf7c6b1f228b05da6fb25c43bcf3669377cc

Contents?: true

Size: 944 Bytes

Versions: 66

Compression:

Stored size: 944 Bytes

Contents

#pragma once

#include "common/RhoStd.h"
#include "common/AutoPointer.h"
#include "curl/curl.h"

namespace rho {
namespace net {

struct ISSL
{
    virtual ~ISSL() {}

    virtual void* createStorage() = 0;
    virtual void freeStorage(void *ptr) = 0;

    virtual CURLcode connect(int sockfd, int nonblocking, int *done, int ssl_verify_peer, void *storage) = 0;
    virtual void shutdown(void *storage) = 0;
    virtual ssize_t send(const void *mem, size_t len, void *storage) = 0;
    virtual ssize_t recv(char *buf, size_t size, int *wouldblock, void *storage) = 0;
};

}
}

extern "C" {
void *rho_ssl_create_storage();
void rho_ssl_free_storage(void *);
CURLcode rho_ssl_connect(int sockfd, int nonblocking, int *done, int ssl_verify_peer, void *storage);
void rho_ssl_shutdown(void *storage);
ssize_t rho_ssl_send(const void *mem, size_t len, void *storage);
ssize_t rho_ssl_recv(char *buf, size_t size, int *wouldblock, void *storage);
}

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
rhodes-3.0.2 platform/shared/net/ssl.h
rhodes-3.0.2.beta.1 platform/shared/net/ssl.h
rhodes-3.0.1 platform/shared/net/ssl.h
rhodes-3.0.1.beta.8 platform/shared/net/ssl.h
rhodes-3.0.1.beta.7 platform/shared/net/ssl.h
rhodes-3.0.1.beta.6 platform/shared/net/ssl.h
rhodes-3.0.1.beta.5 platform/shared/net/ssl.h
rhodes-3.0.1.beta.4 platform/shared/net/ssl.h
rhodes-3.0.1.beta.3 platform/shared/net/ssl.h
rhodes-3.0.1.beta.2 platform/shared/net/ssl.h
rhodes-3.0.0 platform/shared/net/ssl.h
rhodes-3.0.0.beta.7 platform/shared/net/ssl.h
rhodes-3.0.0.beta.6 platform/shared/net/ssl.h
rhodes-3.0.0.beta.5 platform/shared/net/ssl.h
rhodes-3.0.0.beta.4 platform/shared/net/ssl.h
rhodes-3.0.0.beta.3 platform/shared/net/ssl.h
rhodes-3.0.0.beta.2 platform/shared/net/ssl.h
rhodes-3.0.0.beta.1 platform/shared/net/ssl.h
rhodes-2.4.1 platform/shared/net/ssl.h
rhodes-2.4.1.beta.1 platform/shared/net/ssl.h