DeviceState changes
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / device / DeviceState.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.openflowplugin.api.openflow.device;
10
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
15 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
16
17 /**
18  * Holder of device's structure
19  */
20 public interface DeviceState {
21
22     /**
23      * @return true if this session is valid
24      */
25     boolean isValid();
26
27     /**
28      * @param valid the valid to set
29      */
30     void setValid(boolean valid);
31
32     /**
33      * Return true if we have relevant meter information
34      * from device
35      *
36      * @return
37      */
38     boolean isMetersAvailable();
39
40     /**
41      * Set information about meter statistics availability.
42      */
43     void setMeterAvailable(boolean available);
44
45     /**
46      * Return true if we have relevant group information
47      * from device
48      *
49      * @return
50      */
51     boolean isGroupAvailable();
52
53     /**
54      * Set information about group statistics availability.
55      */
56     void setGroupAvailable(boolean available);
57
58     /**
59      * Method returns true if initial statistics data were collected and written to DS.
60      *
61      * @return
62      */
63     boolean deviceSynchronized();
64
65     /**
66      * Method returns true, if device capabilities provides flow statistics.
67      *
68      * @return
69      */
70     boolean isFlowStatisticsAvailable();
71
72     void setFlowStatisticsAvailable(boolean available);
73
74     /**
75      * Method returns true, if device capabilities provides table statistics.
76      *
77      * @return
78      */
79     boolean isTableStatisticsAvailable();
80
81     void setTableStatisticsAvailable(boolean available);
82
83     /**
84      * Method returns true, if device capabilities provides flow statistics.
85      *
86      * @return
87      */
88     boolean isPortStatisticsAvailable();
89
90     void setPortStatisticsAvailable(boolean available);
91
92     /**
93      * Method returns true, if device capabilities provides queue statistics.
94      *
95      * @return
96      */
97     boolean isQueueStatisticsAvailable();
98
99     void setQueueStatisticsAvailable(boolean available);
100
101     void setDeviceSynchronized(boolean deviceSynchronized);
102
103     boolean isStatisticsPollingEnabled();
104
105     void setStatisticsPollingEnabledProp(boolean statPollEnabled);
106
107 }