#pragma once #include #include #include namespace ddkit { namespace actors { class IActor; typedef std::shared_ptr ActorPtr; struct CallbackInfo { std::string serviceName; // serviceName of sending actor (client or service), this is always a real name std::string sendingActor; // clientActorId or serviceActorId std::string operationName; // rmodel-operationName, for example "ConfigAbc" bool isFromClient; bool isFromService; bool isToClient; bool isToService; std::string clientName; // filled, if isFromClient, clientActorId, if user set clientName, clientName int64_t timestampInMsSinceEpoch; /// @brief Get informations about the current callback /// This function should only be used inside a callback. /// @return The current CallbackInfo object. static CallbackInfo current(); friend std::ostream& operator<<(std::ostream& s, CallbackInfo const& rhs); }; } // namespace actors } // namespace ddkit