2 Commits

Author SHA1 Message Date
d0222a0dce Did some hackypooos for Jtest 3 2024-08-21 14:44:46 -04:00
f8310f7bed Did some hackypooos for Jtest 2 2024-08-21 14:35:37 -04:00
2 changed files with 6 additions and 2 deletions

View File

@@ -25,6 +25,7 @@ class Connection;
template <typename delegate, typename ... Args> template <typename delegate, typename ... Args>
class BasicEvent { class BasicEvent {
public: public:
friend Connection<delegate, Args ...>;
using connection = Connection<delegate, Args ...>; using connection = Connection<delegate, Args ...>;
using event_ptr = std::shared_ptr<connection>; using event_ptr = std::shared_ptr<connection>;
public: public:

View File

@@ -16,12 +16,15 @@ class BasicEvent;
/// A type that represents a handle to an active event connection. /// A type that represents a handle to an active event connection.
template <typename delegate, typename ... Args> template <typename delegate, typename ... Args>
class Connection { class Connection {
private: public:
friend BasicEvent<delegate, Args...>;
public: public:
Connection(BasicEvent<delegate, Args...> *creator, delegate cb); Connection(BasicEvent<delegate, Args...> *creator, delegate cb);
bool Disconnect(); // Breaks the event connection, but does not destroy the instance bool Disconnect(); // Breaks the event connection, but does not destroy the instance
void Invoke(Args... e); void Invoke(Args... e);
protected: public:
// Fuck it make this public
// Don't be stupid!!
delegate callback; delegate callback;
private: private:
BasicEvent<delegate, Args...> * owner; BasicEvent<delegate, Args...> * owner;