Added more comments describing how to start up libretroshare

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@752 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2008-10-17 22:41:31 +00:00
parent b0508af376
commit 95d5f38222

View File

@ -35,20 +35,62 @@
#endif #endif
/* Basic instructions for running libretroshare as background thread.
* ******************************************************************* *
* This allows your program to communicate with authenticated peers.
*
* libretroshare's interfaces are defined in libretroshare/src/rsiface.
* This should be the only headers that you need to include.
*
* The startup routine's are defined in rsiface.h
*/
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
/* Objects */ /* Retroshare startup is configured using an RsInit object.
* This is an opaque class, which the user cannot directly tweak
* If you want to peek at whats happening underneath look in
* libretroshare/src/rsserver/p3face-startup.cc
*
* You create it with InitRsConfig(), and delete with CleanupRsConfig()
* InitRetroshare(argv, argc, config) parses the command line options,
* and initialises the config paths.
*
* *** There are several functions that I should add to modify
* **** the config the moment these can only be set via the commandline
* - RsConfigDirectory(...) is probably the most useful.
* - RsConfigNetAddr(...) for setting port, etc.
* - RsConfigOutput(...) for logging and debugging.
*
* Next you need to worry about loading your certificate, or making
* a new one:
*
* RsGenerateCertificate(...) To create a new key, certificate
* LoadPassword(...) set password for existing certificate.
**/
RsInit *config = InitRsConfig(); RsInit *config = InitRsConfig();
InitRetroShare(argc, argv, config); InitRetroShare(argc, argv, config);
/* load password should be called at this point: LoadPassword()
* otherwise loaded from commandline.
*/
/* Key + Certificate are loaded into libretroshare */
LoadCertificates(config, false); LoadCertificates(config, false);
//NotifyBase *notify = new NotifyBase(); /* Now setup the libretroshare interface objs
* You will need to create you own NotifyXXX class
* if you want to receive notifications of events */
NotifyTxt *notify = new NotifyTxt(); NotifyTxt *notify = new NotifyTxt();
RsIface *iface = createRsIface(*notify); RsIface *iface = createRsIface(*notify);
RsControl *rsServer = createRsControl(*iface, *notify); RsControl *rsServer = createRsControl(*iface, *notify);
notify->setRsIface(iface); notify->setRsIface(iface);
/* Start-up libretroshare server threads */
rsServer -> StartupRetroShare(config); rsServer -> StartupRetroShare(config);
CleanupRsConfig(config); CleanupRsConfig(config);