wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_traffic_stream.h
changeset 0 c40eb8fe8501
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_traffic_stream.h	Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,352 @@
+/*
+* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class for storing traffic stream parameters.
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#ifndef CORE_TRAFFIC_STREAM_H
+#define CORE_TRAFFIC_STREAM_H
+
+#include "core_types.h"
+
+/**
+ * Class for storing traffic stream parameters.
+ *
+ * @lib wlmserversrv.dll
+ * @since S60 v3.2
+ */
+NONSHARABLE_CLASS( core_traffic_stream_c )
+    {
+
+public:
+
+    /**
+     * Constructor.
+     * @param tid TID of the traffic stream.
+     * @param user_priority User Priority of the traffic stream.
+     */
+    core_traffic_stream_c(
+	    u8_t tid,
+	    u8_t user_priority );
+
+    /**
+     * Destructor.
+     */
+    virtual ~core_traffic_stream_c();
+
+    /**
+     * Get the TID value of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The TID value of the traffic stream.
+     */
+    u8_t tid() const;
+    
+    /**
+     * Get the User Priority value of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The User Priority value of the traffic stream.
+     */
+    u8_t user_priority() const;
+    
+    /**
+     * Get the access class of the traffic stream.
+     * 
+     * @since S60 v5.1
+     * @return The access class of the traffic stream.
+     */
+    core_access_class_e access_class() const;
+    
+    /**
+     * Set the default traffic values.
+     *
+     * @since S60 v3.2
+     * @param params Traffic stream parameters.
+     */
+    void set_default_traffic_values(
+        const core_traffic_stream_params_s& params );
+
+    /**
+     * Override the default traffic values with different values.
+     *
+     * @since S60 v3.2
+     * @param params Traffic stream parameters.
+     */
+    void set_traffic_values(
+        const core_traffic_stream_params_s& params );
+
+    /**
+     * Reset the traffic stream back to default values.
+     *
+     * @since S60 v3.2
+     */
+    void reset_to_default_values();
+
+    /**
+     * Reset the traffic stream back to previous values.
+     *     
+     * @since S60 v3.2
+     */
+    void reset_to_previous_values();
+
+    /**
+     * Get the current status of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The current status of the traffic stream.
+     */
+    core_traffic_stream_status_e status() const;
+
+    /**
+     * Set the current status of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @param status The current status of the traffic stream.
+     */
+    void set_status(    
+        core_traffic_stream_status_e status );
+
+    /**
+     * Return the current amount of virtual traffic streams
+     * referencing this traffic stream.
+     * 
+     * @since S60 v3.2
+     * @return The current reference count. 
+     */
+    u8_t reference_count();
+    
+    /**
+     * Increase the reference count by one.
+     * 
+     * @since S60 v3.2
+     */
+    void inc_reference_count();
+    
+    /**
+     * Decrease the reference count by one.
+     * 
+     * @since S60 v3.2
+     */
+    void dec_reference_count();
+    
+    /**
+     * Get the traffic pattern.
+     *
+     * @since S60 v3.2
+     * @return Whether the traffic pattern is periodic or aperiodic.     
+     */
+    bool_t is_periodic_traffic() const;
+
+    /**
+     * Return the Direction field of the traffic stream.
+     * 
+     * @since S60 v5.1
+     * @return The Direction field of the frame.
+     */
+    core_traffic_stream_direction_e direction() const; 
+    
+    /**
+     * Get the Nominal MSDU Size of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Nominal MSDU Size of the traffic stream.
+     */
+    u16_t nominal_msdu_size() const;
+    
+    /**
+     * Get the Maximum MSDU Size of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Maximum MSDU Size of the traffic stream.
+     */    
+    u16_t maximum_msdu_size() const;
+
+    /**
+     * Get the Minimum Service Interval of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Minimum Service Interval of the traffic stream.
+     */    
+    u32_t minimum_service_interval() const;
+
+    /**
+     * Get the Maximum Service Interval of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Maximum Service Interval of the traffic stream.
+     */
+    u32_t maximum_service_interval() const;
+
+    /**
+     * Get the Inactivity Interval of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Inactivity Interval of the traffic stream.
+     */
+    u32_t inactivity_interval() const;
+
+    /**
+     * Get the Suspension Interval of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Suspension Interval of the traffic stream.
+     */   
+    u32_t suspension_interval() const;
+
+    /**
+     * Get the Service Start Time of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Service Start Time of the traffic stream.
+     */
+    u32_t service_start_time() const;
+
+    /**
+     * Get the Minimum Data Rate of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Minimum Data Rate of the traffic stream.
+     */
+    u32_t minimum_data_rate() const;
+
+    /**
+     * Get the Mean Data Rate of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Mean Data Rate of the traffic stream.
+     */   
+    u32_t mean_data_rate() const;
+
+    /**
+     * Get the Peak Data Rate of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Peak Data Rate of the traffic stream.
+     */    
+    u32_t peak_data_rate() const;
+
+    /**
+     * Get the Maximum Burst Size of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Maximum Burst Size of the traffic stream.
+     */
+    u32_t maximum_burst_size() const;
+
+    /**
+     * Get the Delay Bound of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Delay Bound of the traffic stream.
+     */
+    u32_t delay_bound() const;
+
+    /**
+     * Get the Minimum PHY Rate of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Minimum PHY Rate of the traffic stream.
+     */
+    u32_t minimum_phy_rate() const;
+
+    /**
+     * Get the Surplus Bandwidth Allowance of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Surplus Bandwidth Allowance of the traffic stream.
+     */
+    u16_t surplus_bandwidth_allowance() const;
+
+    /**
+     * Get the Medium Time of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Medium Time of the traffic stream.
+     */    
+    u16_t medium_time() const;
+
+    /**
+     * Get the Nominal PHY Rate of the traffic stream.
+     *
+     * @since S60 v3.2
+     * @return The Nominal PHY Rate of the traffic stream.
+     */
+    core_tx_rate_e nominal_phy_rate() const;
+
+    /**
+     * Get the rates for overriding the tx rate policy.
+     * @since S60 v3.2
+     * @return The Nominal PHY Rate of the traffic stream, 0 if defaults are used
+     */
+    u32_t override_rates() const;
+
+    /**
+     * Get the Maximum Transmit MSDU Lifetime.
+     * @since S60 v3.2
+     * @return The Maximum Transmit MSDU Lifetime of the traffic stream.
+     */
+    u32_t max_tx_msdu_lifetime() const;
+
+    /**
+     * Assignment operator.
+     */
+    core_traffic_stream_c& operator=(
+        const core_traffic_stream_c& src );
+
+private: // data
+
+    /**
+     * The TID of the traffic stream.
+     */
+    u8_t tid_m;
+    
+    /**
+     * The User Priority of the traffic stream.
+     */    
+    u8_t user_priority_m;
+
+    /**
+     * The default traffic stream parameters.
+     */
+    core_traffic_stream_params_s default_params_m;
+
+    /**
+     * The current traffic stream parameters.
+     */
+    core_traffic_stream_params_s params_m;
+    
+    /**
+     * The previous traffic stream parameters.
+     */
+    core_traffic_stream_params_s previous_params_m;
+
+    /**
+     * The current status of the traffic stream.
+     */
+    core_traffic_stream_status_e status_m;
+
+    /**
+     * The current amount of virtual traffic streams
+     * referencing this traffic stream.
+     */
+    u8_t reference_count_m;
+    
+    };
+
+#endif // CORE_TRAFFIC_STREAM_H