i2pd/api/api.h

33 lines
1.1 KiB
C
Raw Normal View History

2014-11-17 20:37:40 +03:00
#ifndef API_H__
#define API_H__
2014-11-23 19:33:58 +03:00
#include <memory>
2014-11-18 01:00:30 +03:00
#include "Identity.h"
2014-11-18 17:33:58 +03:00
#include "Destination.h"
#include "Streaming.h"
2014-11-18 01:00:30 +03:00
2014-11-17 20:37:40 +03:00
namespace i2p
{
namespace api
{
2014-11-18 17:33:58 +03:00
// initialization start and stop
void InitI2P (int argc, char* argv[], const char * appName);
2014-11-17 22:42:45 +03:00
void StartI2P ();
void StopI2P ();
2014-11-18 01:00:30 +03:00
2014-11-18 17:33:58 +03:00
// destinations
i2p::client::ClientDestination * CreateLocalDestination (const i2p::data::PrivateKeys& keys, bool isPublic = true);
2014-11-23 19:33:58 +03:00
i2p::client::ClientDestination * CreateLocalDestination (bool isPublic = false, i2p::data::SigningKeyType sigType = i2p::data::SIGNING_KEY_TYPE_ECDSA_SHA256_P256); // transient destinations usually not published
2014-12-08 19:45:13 +03:00
void DestroyLocalDestination (i2p::client::ClientDestination * dest);
2014-11-18 17:33:58 +03:00
// streams
void RequestLeaseSet (i2p::client::ClientDestination * dest, const i2p::data::IdentHash& remote);
2014-11-23 19:33:58 +03:00
std::shared_ptr<i2p::stream::Stream> CreateStream (i2p::client::ClientDestination * dest, const i2p::data::IdentHash& remote);
2014-11-18 17:33:58 +03:00
void AcceptStream (i2p::client::ClientDestination * dest, const i2p::stream::StreamingDestination::Acceptor& acceptor);
2014-11-23 19:33:58 +03:00
void DestroyStream (std::shared_ptr<i2p::stream::Stream> stream);
2014-11-17 20:37:40 +03:00
}
}
#endif