package org.opendaylight.openflowplugin.api.openflow.device;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
-import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-
/**
- * Created by Martin Bobak <mbobak@cisco.com> on 25.2.2015.
+ * Holder of device's structure
*/
public interface DeviceState {
/**
- * @return id of encapsulated node
- */
- NodeId getNodeId();
-
- /**
- * @return {@link Node} instance identifier
+ * Return true if we have relevant meter information
+ * from device
+ *
+ * @return
*/
- KeyedInstanceIdentifier<Node, NodeKey> getNodeInstanceIdentifier();
+ boolean isMetersAvailable();
/**
- * @return the features of corresponding switch
+ * Set information about meter statistics availability.
*/
- GetFeaturesOutput getFeatures();
+ void setMeterAvailable(boolean available);
/**
- * @return true if this session is valid
+ * Return true if we have relevant group information
+ * from device
+ *
+ * @return
*/
- boolean isValid();
+ boolean isGroupAvailable();
/**
- * @param valid the valid to set
+ * Set information about group statistics availability.
*/
- void setValid(boolean valid);
+ void setGroupAvailable(boolean available);
/**
- * Return node current OF protocol version
+ * Method returns true, if device capabilities provides flow statistics.
*
* @return
*/
- short getVersion();
+ boolean isFlowStatisticsAvailable();
+
+ void setFlowStatisticsAvailable(boolean available);
/**
- * Return true if we have relevant meter information
- * from device
+ * Method returns true, if device capabilities provides table statistics.
+ *
* @return
*/
- boolean isMetersAvailable();
+ boolean isTableStatisticsAvailable();
- /**
- * We already have information about meters
- */
- void meterIsAvailable();
+ void setTableStatisticsAvailable(boolean available);
/**
- * Return true if we have relevant group information
- * from device
+ * Method returns true, if device capabilities provides flow statistics.
+ *
* @return
*/
- boolean isGroupAvailable();
+ boolean isPortStatisticsAvailable();
- /**
- * We already have information about groups
- */
- void groupIsAvailable();
+ void setPortStatisticsAvailable(boolean available);
/**
- * Method returns true if initial statistics data were collected and written to DS.
+ * Method returns true, if device capabilities provides queue statistics.
+ *
* @return
*/
- boolean deviceSynchronized();
-
- void setDeviceSynchronized(boolean deviceSynchronized);
+ boolean isQueueStatisticsAvailable();
+ void setQueueStatisticsAvailable(boolean available);
}