This file is indexed.

/usr/include/ns3.27/ns3/simple-ue-component-carrier-manager.h is in libns3-dev 3.27+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
 * Copyright (c) 2015 Danilo Abrignani
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation;
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Author: Danilo Abrignani <danilo.abrignani@unibo.it>
 *
 */

#ifndef SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H
#define SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H

#include <ns3/lte-ue-component-carrier-manager.h>
#include <ns3/lte-ue-ccm-rrc-sap.h>
#include <ns3/lte-rrc-sap.h>
#include <map>

namespace ns3 {
  class LteUeCcmRrcSapProvider;

/**
 * \brief Component carrier manager implementation which simply does nothing.
 *
 * Selecting this component carrier selection algorithm is equivalent to disabling automatic
 * triggering of component carrier selection. This is the default choice.
 *
 */
class SimpleUeComponentCarrierManager : public LteUeComponentCarrierManager
{
public:
  /// Creates a No-op CCS algorithm instance.
  SimpleUeComponentCarrierManager ();

  virtual ~SimpleUeComponentCarrierManager ();

  /**
   * \brief Get the type ID.
   * \return the object TypeId
   */
  static TypeId GetTypeId ();

  // inherited from LteComponentCarrierManager
  virtual void SetLteCcmRrcSapUser (LteUeCcmRrcSapUser* s);
  virtual LteUeCcmRrcSapProvider* GetLteCcmRrcSapProvider ();
  virtual LteMacSapProvider* GetLteMacSapProvider ();



  /// let the forwarder class access the protected and private members
  friend class MemberLteUeCcmRrcSapProvider<SimpleUeComponentCarrierManager>;
  //friend class MemberLteUeCcmRrcSapUser<SimpleUeComponentCarrierManager>;
  
  /// allow SimpleUeCcmMacSapProvider class friend access
  friend class SimpleUeCcmMacSapProvider;
  /// allow SimpleUeCcmMacSapUser class friend access
  friend class SimpleUeCcmMacSapUser;

protected:

  // inherited from Object
  virtual void DoInitialize ();
  virtual void DoDispose ();
  // inherited from LteCcsAlgorithm as a Component Carrier Management SAP implementation
  /**
   * \brief Report Ue Measure function
   * \param rnti the RNTI
   * \param measResults the measure results
   */
  void DoReportUeMeas (uint16_t rnti, LteRrcSap::MeasResults measResults);
  // forwarded from LteMacSapProvider
  /**
   * \brief Transmit PDU function
   * \param params LteMacSapProvider::TransmitPduParameters
   */
  void DoTransmitPdu (LteMacSapProvider::TransmitPduParameters params);
  /**
   * \brief Report buffer status function
   * \param params LteMacSapProvider::ReportBufferStatusParameters
   */
  void DoReportBufferStatus (LteMacSapProvider::ReportBufferStatusParameters params);
  /// Notify HARQ deliver failure
  void DoNotifyHarqDeliveryFailure ();
  // forwarded from LteMacSapUser
  /**
   * \brief Notify TX opportunity function
   * \param bytes the number of bytes
   * \param layer the layer
   * \param harqId the HARQ ID
   * \param componentCarrierId the component carrier ID
   * \param rnti the RNTI
   * \param lcid the LCID
   */
  void DoNotifyTxOpportunity (uint32_t bytes, uint8_t layer, uint8_t harqId, uint8_t componentCarrierId, uint16_t rnti, uint8_t lcid);
  /**
   * \brief Receive PDU function
   * \param p the packet
   * \param rnti the RNTI
   * \param lcid the LCID
   */
  void DoReceivePdu (Ptr<Packet> p, uint16_t rnti, uint8_t lcid);
  //forwarded from LteUeCcmRrcSapProvider
  /**
   * \brief Add LC function
   * \param lcId the LCID
   * \param lcConfig the logical channel config
   * \param msu the MSU
   * \returns updated LC config list
   */
  std::vector<LteUeCcmRrcSapProvider::LcsConfig> DoAddLc (uint8_t lcId,  LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser* msu);
  /**
   * \brief Remove LC function
   * \param lcid the LCID
   * \returns updated LC list
   */
  std::vector<uint16_t> DoRemoveLc (uint8_t lcid);
  /// Notify connection reconfiguration message
  void DoNotifyConnectionReconfigurationMsg ();
  /**
   * \brief Configure signal bearer function
   * \param lcId the LCID
   * \param lcConfig the logical channel config
   * \param msu the MSU
   * \returns LteMacSapUser *
   */
  LteMacSapUser* DoConfigureSignalBearer (uint8_t lcId,  LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser* msu);
  
private:
  
  LteUeCcmRrcSapUser* m_ccmRrcSapUser;//!< Interface to the eNodeB RRC instance.
  LteUeCcmRrcSapProvider* m_ccmRrcSapProvider; //!< Receive API calls from the eNodeB RRC instance.
  LteMacSapUser* m_ccmMacSapUser;//!< Interface to the eNodeB RLC instance.
  LteMacSapProvider* m_ccmMacSapProvider; //!< Receive API calls from the eNodeB RLC instance

}; // end of class SimpleUeComponentCarrierManager


} // end of namespace ns3


#endif /* SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H */