diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2023-05-06 18:14:23 +0200 | 
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2023-05-06 18:54:24 +0200 | 
| commit | 0c790e6850f0575f4d5ba8182c580182869ad57d (patch) | |
| tree | 6db32b28d0c473f4f81d9b2a42b49efe09038f33 | |
| parent | 25a1ba71e3cf4250489291f688423963aa603498 (diff) | |
Message: get self identity from server
| -rw-r--r-- | include/erebos/message.h | 3 | ||||
| -rw-r--r-- | src/main.cpp | 1 | ||||
| -rw-r--r-- | src/message.cpp | 11 | 
3 files changed, 8 insertions, 7 deletions
| diff --git a/include/erebos/message.h b/include/erebos/message.h index 436c0ed..497b536 100644 --- a/include/erebos/message.h +++ b/include/erebos/message.h @@ -94,10 +94,11 @@ public:  	DirectMessageThread thread(const Identity &); -	DirectMessage send(const Identity &, const Peer &, const std::string &); +	DirectMessage send(const Peer &, const std::string &);  private:  	const Config config; +	const Server & server;  };  } diff --git a/src/main.cpp b/src/main.cpp index 0052c8e..d0015c2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -518,7 +518,6 @@ void contactSetName(const vector<string> & args)  void dmSendPeer(const vector<string> & args)  {  	server->svc<DirectMessageService>().send( -			server->identity().finalOwner(),  			getPeer(args.at(0)).peer,  			args.at(1));  } diff --git a/src/message.cpp b/src/message.cpp index fd8e847..dd4f9d5 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -208,8 +208,9 @@ DirectMessageService::Config & DirectMessageService::Config::onUpdate(ThreadWatc  	return *this;  } -DirectMessageService::DirectMessageService(Config && c, const Server &): -	config(move(c)) +DirectMessageService::DirectMessageService(Config && c, const Server & s): +	config(move(c)), +	server(s)  {}  DirectMessageService::~DirectMessageService() = default; @@ -245,7 +246,7 @@ DirectMessageThread DirectMessageService::thread(const Identity & peer)  	return DirectMessageThread::Priv::getThreadLocked(peer.finalOwner());  } -DirectMessage DirectMessageService::send(const Identity & from, const Peer & peer, const string & text) +DirectMessage DirectMessageService::send(const Peer & peer, const string & text)  {  	auto pid = peer.identity();  	if (!pid) @@ -254,9 +255,9 @@ DirectMessage DirectMessageService::send(const Identity & from, const Peer & pee  	scoped_lock lock(threadLock); -	auto msg = from.ref()->storage().store(DirectMessageData { +	auto msg = server.localHead().ref().storage().store(DirectMessageData {  		.prev = DirectMessageThread::Priv::getThreadLocked(powner).p->head, -		.from = from.finalOwner(), +		.from = server.identity().finalOwner(),  		.time = ZonedTime::now(),  		.text = text,  	}); |