--- a/master/domain.c Thu Oct 26 16:45:33 2006 +0000
+++ b/master/domain.c Fri Oct 27 09:19:58 2006 +0000
@@ -130,6 +130,30 @@
/**
Domain destructor.
+ Clears and frees a domain object.
+*/
+
+void ec_domain_destroy(ec_domain_t *domain /**< EtherCAT domain */)
+{
+ ec_datagram_t *datagram;
+
+ // dequeue datagrams
+ list_for_each_entry(datagram, &domain->datagrams, list) {
+ if (!list_empty(&datagram->queue)) // datagram queued?
+ list_del_init(&datagram->queue);
+ }
+
+ // destroy self
+ kobject_del(&domain->kobj);
+ kobject_put(&domain->kobj);
+}
+
+/*****************************************************************************/
+
+/**
+ Clear and free domain.
+ This method is called by the kobject,
+ once there are no more references to it.
*/
void ec_domain_clear(struct kobject *kobj /**< kobject of the domain */)
@@ -464,22 +488,6 @@
/*****************************************************************************/
/**
- Dequeues all datagrams from the masters datagram queue.
-*/
-
-void ec_domain_dequeue_datagrams(ec_domain_t *domain /**< EtherCAT domain */)
-{
- ec_datagram_t *datagram;
-
- list_for_each_entry(datagram, &domain->datagrams, list) {
- if (!list_empty(&datagram->queue)) // datagram queued?
- list_del_init(&datagram->queue);
- }
-}
-
-/*****************************************************************************/
-
-/**
Formats attribute data for SysFS reading.
\return number of bytes to read
*/