create local destination through API

This commit is contained in:
orignal 2014-11-17 17:00:30 -05:00
parent 2988395b81
commit 72c0d8443a
2 changed files with 33 additions and 1 deletions

View File

@ -18,7 +18,7 @@ namespace api
void InitI2P (int argc, char* argv[])
{
i2p::util::filesystem::SetAppName (argv[0]);
i2p::util::filesystem::SetAppName ("i2papi");
i2p::util::config::OptionParser(argc, argv);
i2p::context.Init ();
}
@ -53,6 +53,32 @@ namespace api
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;
}
}
}
}

View File

@ -1,6 +1,8 @@
#ifndef API_H__
#define API_H__
#include "Identity.h"
namespace i2p
{
namespace api
@ -8,6 +10,10 @@ namespace api
void InitI2P (int argc, char* argv[]);
void StartI2P ();
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);
}
}