This file is indexed.

/usr/include/Wt/Payment/Order is in libwt-dev 3.3.4+dfsg-6ubuntu1.

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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2012 Emweb bvba, Kessel-Lo, Belgium.
 */
#ifndef WT_PAYMENT_ORDER_H
#define WT_PAYMENT_ORDER_H

#include <Wt/Payment/OrderItem>
#include "Wt/Payment/Money"

namespace Wt {
  namespace Payment {
/*! \class Order Wt/Payment/Order Wt/Payment/Order
 *  \brief Contains information of a sales order.
 *
 * \if cpp
 * Usage example:
 * \code
 *  Wt::Payment::OrderItem item1, item2;
 *
 * item1.setName("Waffle Maker");
 * item1.setNumber("00001");
 * item1.setDescription("Emweb FlipSide Belgian Waffle Maker");
 * item1.setQuantity(1);
 * item1.setUnitCost(Wt::Payment::Money(49, 99, "USD"));
 *
 * Wt::Payment::Order order;
 *
 * order.items().push_back(item1);
 *
 * order.setShipping(Wt::Payment::Money(7, 1, "USD"));
 * order.setShippingDiscount(Wt::Payment::Money(-7, 0, "USD"));
 * order.setShippingInsurance(Wt::Payment::Money(2, 23, "USD"));
 * order.setTax(Wt::Payment::Money(500, 99, "USD"));
 * \endcode
 * \endif
 *
 * \ingroup payment
 */
class WT_API Order
{
public:
  /*! \brief Sets sales taxes.
   *
   * This is the total amount of taxes for the order.
   *
   * The default value is 0 (your government may not like that !).
   */
  void setTax(const Money& tax);

  /*! \brief Returns sales taxes.
   *
   * \sa setTax()
   */
  Money tax() const { return tax_; }

  /*! \brief Sets shipping cost.
   *
   * This is the total shipping cost for the order, excluding
   * discounts and insurance.
   *
   * The default value is 0.
   *
   * \sa setShippingInsurance(), setShippingDiscount()
   */
  void setShipping(const Money& shipping);

  /*! \brief Returns the shipping cost.
   *
   * \sa setShipping()
   */
  Money shipping() const { return shipping_; }

  /*! \brief Sets handling cost.
   *
   * This is the total cost for handling.
   *
   * The default value is 0.
   */
  void setHandling(const Money& handling);

  /*! \brief Returns handeling.
   *
   * \sa setHandling()
   */
  Money handling() const { return handling_; }

  /*! \brief Sets the shipping discount.
   *
   * The shipping order discount (which should be a negative number).
   *
   * The default value is 0.
   */
  void setShippingDiscount(const Money& discount);

  /*! \brief Returns the shipping discount.
   *
   * \sa setShippingDiscount()
   */
  Money shippingDiscount() const { return shippingDiscount_; }

  /*! \brief Sets shipping insurance.
   *
   * The total order shipping insurance cost.
   *
   * The default value is 0.
   */
  void setShippingInsurance(const Money& insurance);

  /*! \brief Returns shipping insurance.
   *
   * \sa setShippingInsurance()
   */
  Money shippingInsurance() const { return shippingInsurance_; }

  /*! \brief Sets a payment transaction ID.
   *
   * This transaction identification number provides tracability of the
   * payment, and is usually set by the payment broker during the payment
   * process.
   *
   * \sa setPaymentBroker()
   */
  void setPaymentTransactionId(const std::string& transactionId);

  /*! \brief Returns the payment transaction ID.
   *
   * \sa setPaymentTransactionId()
   */
  std::string paymentTransactionId() const { return paymentTransactionId_; }

  /*! \brief Sets the payment broker.
   *
   * This identifies the payment broker that was used to provide
   * payment for this order. This is usually set together with a
   * payment transaction ID by the payment broker during the payment
   * process.
   *
   * \sa setPaymentTransactionId()
   */
  void setPaymentBroker(const std::string& broker);

  /*! \brief Returns the payment broker.
   *
   * \sa setPaymentBroker()
   */
  std::string paymentBroker() const { return paymentBroker_; }

  /*! \brief Sets the order description.
   *
   * Sets a description for the total order.
   */
  void setDescription(const std::string description);

  /*! \brief Returns the order description.
   *
   * \sa setDescription()
   */
  std::string description() const {return description_;}

  /*! \brief Returns all items in the order.
   *
   * \sa OrderItem
   */
  const std::vector<OrderItem>& items() const { return items_; }

  /*! \brief Returns all items in the order.
   *
   * \sa OrderItem
   */  
  std::vector<OrderItem>& items() { return items_; }

  /*! \brief Computes the total net cost of all items.
   *
   * This computes the total item cost based on the list of items() in
   * this order. This does not include tax, shipping,
   * shippingDiscount, shippingInsurance and handling fees.
   *
   * \sa items(), setTotalItemCost()
   */
  Money computeTotalItemCost() const;

  /*! \brief Sets the total net cost of all items.
   *
   * This sets the total item cost. This does not include tax, shipping,
   * shippingDiscount, shippingInsurance and handling fees.
   *
   * If you have specified the individual items, then you can use
   * computeTotalItemCost() to set the computed value.
   */
  void setTotalItemCost(const Money& totalItemCost);

  /*! \brief Returns the total item cost.
   *
   * \sa setTotalItemCost()
   */
  Money totalItemCost() const { return totalItemCost_; }

  /*! \brief Computes the total cost of the order.
   *
   * Computes the total of totalItemCost(), tax(), shipping(),
   * handling(), shippinDiscount() and shippingInsurance().
   *
   * \sa setTotalOrderCost()
   */
  Money computeTotalOrderCost() const;

  /*! \brief Sets the total order cost.
   *
   * This sets the total order cost. If you have specified the total
   * item cost, and suitable values for tax, shipping and handling,
   * then you can use computeTotalOrderCost() to set the computed
   * value.
   */
  void setTotalOrderCost(const Money& totalOrderCost);

  /*! \brief Returns the total order cost.
   */
  Money totalOrderCost() const { return totalCost_; }

private:
  std::vector<OrderItem> items_;
  Money tax_, shipping_, shippingDiscount_, shippingInsurance_,
    handling_, totalCost_, totalItemCost_;
  std::string paymentTransactionId_, paymentBroker_, description_;
};

  }
}

#endif // WT_PAYMENT_ORDER_H_