Browse Source

create local destination through API

pull/113/head
orignal 10 years ago
parent
commit
72c0d8443a
  1. 28
      api/api.cpp
  2. 6
      api/api.h

28
api/api.cpp

@ -18,7 +18,7 @@ namespace api
void InitI2P (int argc, char* argv[]) void InitI2P (int argc, char* argv[])
{ {
i2p::util::filesystem::SetAppName (argv[0]); i2p::util::filesystem::SetAppName ("i2papi");
i2p::util::config::OptionParser(argc, argv); i2p::util::config::OptionParser(argc, argv);
i2p::context.Init (); i2p::context.Init ();
} }
@ -53,6 +53,32 @@ namespace api
StopLog (); StopLog ();
} }
i2p::client::ClientDestination * CreateLocalDestination (const i2p::data::PrivateKeys& keys)
{
auto localDestination = new i2p::client::ClientDestination (keys, true); // public
g_Destinations[localDestination->GetIdentHash ()] = localDestination;
localDestination->Start ();
return localDestination;
}
i2p::client::ClientDestination * CreateLocalDestination (i2p::data::SigningKeyType sigType)
{
auto localDestination = new i2p::client::ClientDestination (true, sigType); // public
g_Destinations[localDestination->GetIdentHash ()] = localDestination;
localDestination->Start ();
return localDestination;
}
void DestroyLocalDestination (i2p::client::ClientDestination * dest)
{
if (dest)
{
dest->Stop ();
g_Destinations.erase (dest->GetIdentHash ());
delete dest;
}
}
} }
} }

6
api/api.h

@ -1,6 +1,8 @@
#ifndef API_H__ #ifndef API_H__
#define API_H__ #define API_H__
#include "Identity.h"
namespace i2p namespace i2p
{ {
namespace api namespace api
@ -8,6 +10,10 @@ namespace api
void InitI2P (int argc, char* argv[]); void InitI2P (int argc, char* argv[]);
void StartI2P (); void StartI2P ();
void StopI2P (); void StopI2P ();
i2p::client::ClientDestination * CreateLocalDestination (const i2p::data::PrivateKeys& keys);
i2p::client::ClientDestination * CreateLocalDestination (i2p::data::SigningKeyType sigType = i2p::data::SIGNING_KEY_TYPE_DSA_SHA1);
void DestoroyLocalDestination (i2p::client::ClientDestination * dest);
} }
} }

Loading…
Cancel
Save