]> jfr.im git - solanum.git/blobdiff - authd/provider.h
rb_connect: use SO_ERROR
[solanum.git] / authd / provider.h
index fc7d5feabce2d9ba5468382f55b5c6b119866544..07b8a794a1508db11070d978f62b5353a01aeb2a 100644 (file)
@@ -59,6 +59,7 @@ struct auth_client
 
        bool providers_starting;                /* Providers are still warming up */
        bool providers_cancelled;               /* Providers are being cancelled */
+       unsigned int providers_active;          /* Number of active providers */
        unsigned int refcount;                  /* Held references */
 
        struct auth_client_data *data;          /* Provider-specific data */
@@ -116,7 +117,7 @@ void destroy_providers(void);
 void cancel_providers(struct auth_client *auth);
 
 void provider_done(struct auth_client *auth, uint32_t id);
-void accept_client(struct auth_client *auth, uint32_t id);
+void accept_client(struct auth_client *auth);
 void reject_client(struct auth_client *auth, uint32_t id, const char *data, const char *fmt, ...);
 
 void handle_new_connection(int parc, char *parv[]);
@@ -176,31 +177,6 @@ get_provider_status(struct auth_client *auth, uint32_t provider)
        return auth->data[provider].status;
 }
 
-/* Set a provider's raw status */
-static inline void
-set_provider_status(struct auth_client *auth, uint32_t provider, provider_status_t status)
-{
-       auth->data[provider].status = status;
-}
-
-/* Set the provider as running
- * If you're doing asynchronous work call this */
-static inline void
-set_provider_running(struct auth_client *auth, uint32_t provider)
-{
-       auth_client_ref(auth);
-       set_provider_status(auth, provider, PROVIDER_STATUS_RUNNING);
-}
-
-/* Provider is no longer operating on this auth client
- * You should use provider_done and not this */
-static inline void
-set_provider_done(struct auth_client *auth, uint32_t provider)
-{
-       set_provider_status(auth, provider, PROVIDER_STATUS_DONE);
-       auth_client_unref(auth);
-}
-
 /* Check if provider is operating on this auth client */
 static inline bool
 is_provider_running(struct auth_client *auth, uint32_t provider)