0ca7e2df60eb99d58c089dde12e859b1ff83e81d
[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 /**
12  * Holder of device's structure
13  */
14 public interface DeviceState extends DeviceSynchronizeListener, DeviceValidListener {
15
16     /**
17      * @return true if this session is valid
18      */
19     boolean isValid();
20
21     /**
22      * Return true if we have relevant meter information
23      * from device
24      *
25      * @return
26      */
27     boolean isMetersAvailable();
28
29     /**
30      * Set information about meter statistics availability.
31      */
32     void setMeterAvailable(boolean available);
33
34     /**
35      * Return true if we have relevant group information
36      * from device
37      *
38      * @return
39      */
40     boolean isGroupAvailable();
41
42     /**
43      * Set information about group statistics availability.
44      */
45     void setGroupAvailable(boolean available);
46
47     /**
48      * Method returns true if initial statistics data were collected and written to DS.
49      *
50      * @return
51      */
52     boolean deviceSynchronized();
53
54     /**
55      * Method returns true, if device capabilities provides flow statistics.
56      *
57      * @return
58      */
59     boolean isFlowStatisticsAvailable();
60
61     void setFlowStatisticsAvailable(boolean available);
62
63     /**
64      * Method returns true, if device capabilities provides table statistics.
65      *
66      * @return
67      */
68     boolean isTableStatisticsAvailable();
69
70     void setTableStatisticsAvailable(boolean available);
71
72     /**
73      * Method returns true, if device capabilities provides flow statistics.
74      *
75      * @return
76      */
77     boolean isPortStatisticsAvailable();
78
79     void setPortStatisticsAvailable(boolean available);
80
81     /**
82      * Method returns true, if device capabilities provides queue statistics.
83      *
84      * @return
85      */
86     boolean isQueueStatisticsAvailable();
87
88     void setQueueStatisticsAvailable(boolean available);
89
90     boolean isStatisticsPollingEnabled();
91
92     void setStatisticsPollingEnabledProp(boolean statPollEnabled);
93
94 }