Ring Daemon 16.0.0
Loading...
Searching...
No Matches
jami::NameDirectory Class Reference

#include <namedirectory.h>

Collaboration diagram for jami::NameDirectory:
Collaboration graph

Public Types

using LookupCallback = std::function< void(const std::string &name, const std::string &address, Response response)>
 
using RegistrationCallback = std::function< void(RegistrationResponse response, const std::string &name)>
 
enum class  RegistrationResponse : int {
  success = 0 , invalidName , invalidCredentials , alreadyTaken ,
  error , incompleteRequest , signatureVerificationFailed , unsupported
}
 
enum class  Response : int { found = 0 , invalidResponse , notFound , error }
 
using SearchCallback = std::function< void(const SearchResult &result, Response response)>
 
using SearchResult = std::vector< std::map< std::string, std::string > >
 

Public Member Functions

void load ()
 
void lookupAddress (const std::string &addr, LookupCallback cb)
 
void lookupName (const std::string &name, LookupCallback cb)
 
 NameDirectory (const std::string &serverUrl, std::shared_ptr< dht::Logger > l={})
 
void registerName (const std::string &addr, const std::string &name, const std::string &owner, RegistrationCallback cb, const std::string &signedname, const std::string &publickey)
 
bool searchName (const std::string &, SearchCallback)
 
void setToken (std::string token)
 
 ~NameDirectory ()
 

Static Public Member Functions

static NameDirectoryinstance ()
 
static NameDirectoryinstance (const std::string &serverUrl, std::shared_ptr< dht::Logger > l={})
 
static void lookupUri (std::string_view uri, const std::string &default_server, LookupCallback cb)
 

Detailed Description

Definition at line 52 of file namedirectory.h.

Member Typedef Documentation

◆ LookupCallback

using jami::NameDirectory::LookupCallback = std::function<void(const std::string& name, const std::string& address, Response response)>

Definition at line 67 of file namedirectory.h.

◆ RegistrationCallback

using jami::NameDirectory::RegistrationCallback = std::function<void(RegistrationResponse response, const std::string& name)>

Definition at line 70 of file namedirectory.h.

◆ SearchCallback

Definition at line 69 of file namedirectory.h.

◆ SearchResult

using jami::NameDirectory::SearchResult = std::vector<std::map<std::string, std::string> >

Definition at line 68 of file namedirectory.h.

Member Enumeration Documentation

◆ RegistrationResponse

Enumerator
success 
invalidName 
invalidCredentials 
alreadyTaken 
error 
incompleteRequest 
signatureVerificationFailed 
unsupported 

Definition at line 56 of file namedirectory.h.

◆ Response

Enumerator
found 
invalidResponse 
notFound 
error 

Definition at line 55 of file namedirectory.h.

Constructor & Destructor Documentation

◆ NameDirectory()

jami::NameDirectory::NameDirectory ( const std::string &  serverUrl,
std::shared_ptr< dht::Logger l = {} 
)

Definition at line 107 of file namedirectory.cpp.

References jami::CACHE_DIRECTORY, jami::emitSignal(), and jami::fileutils::get_cache_dir().

Here is the call graph for this function:

◆ ~NameDirectory()

jami::NameDirectory::~NameDirectory ( )

Definition at line 118 of file namedirectory.cpp.

References jami::emitSignal().

Here is the call graph for this function:

Member Function Documentation

◆ instance() [1/2]

NameDirectory & jami::NameDirectory::instance ( )
static

Definition at line 84 of file namedirectory.cpp.

References jami::DEFAULT_SERVER_HOST, and instance().

Referenced by jami::ServerAccountManager::initAuthentication(), instance(), libjami::lookupAddress(), libjami::lookupName(), and lookupUri().

Here is the call graph for this function:

◆ instance() [2/2]

NameDirectory & jami::NameDirectory::instance ( const std::string &  serverUrl,
std::shared_ptr< dht::Logger l = {} 
)
static

Definition at line 145 of file namedirectory.cpp.

References jami::canonicalName(), jami::DEFAULT_SERVER_HOST, and jami::emitSignal().

Here is the call graph for this function:

◆ load()

void jami::NameDirectory::load ( )

Definition at line 130 of file namedirectory.cpp.

◆ lookupAddress()

void jami::NameDirectory::lookupAddress ( const std::string &  addr,
LookupCallback  cb 
)

Definition at line 173 of file namedirectory.cpp.

References jami::emitSignal(), error, found, invalidResponse, JAMI_ERROR, and jami::QUERY_ADDR.

Referenced by libjami::lookupAddress().

Here is the call graph for this function:

◆ lookupName()

void jami::NameDirectory::lookupName ( const std::string &  name,
LookupCallback  cb 
)

Definition at line 252 of file namedirectory.cpp.

References JAMI_ERROR, jami::QUERY_NAME, and jami::urlEncode().

Referenced by libjami::lookupName(), and lookupUri().

Here is the call graph for this function:

◆ lookupUri()

void jami::NameDirectory::lookupUri ( std::string_view  uri,
const std::string &  default_server,
LookupCallback  cb 
)
static

Definition at line 90 of file namedirectory.cpp.

References jami::DEFAULT_SERVER_HOST, jami::emitSignal(), instance(), invalidResponse, JAMI_ERROR, lookupName(), std::regex_match(), and jami::URI_VALIDATOR.

Referenced by libjami::lookupName().

Here is the call graph for this function:

◆ registerName()

void jami::NameDirectory::registerName ( const std::string &  addr,
const std::string &  name,
const std::string &  owner,
RegistrationCallback  cb,
const std::string &  signedname,
const std::string &  publickey 
)

Definition at line 338 of file namedirectory.cpp.

References JAMI_DEBUG, JAMI_ERROR, JAMI_WARNING, jami::QUERY_NAME, jami::toLower(), and jami::urlEncode().

Here is the call graph for this function:

◆ searchName()

bool jami::NameDirectory::searchName ( const std::string &  ,
SearchCallback   
)
inline

Definition at line 88 of file namedirectory.h.

◆ setToken()

void jami::NameDirectory::setToken ( std::string  token)
inline

Definition at line 80 of file namedirectory.h.


The documentation for this class was generated from the following files: