This file is indexed.

/usr/include/csvimp/plugin/csvmap.h is in libcsvimp-dev 0.5.4-2.

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
/*
 * This file is part of the xTuple ERP: PostBooks Edition, a free and
 * open source Enterprise Resource Planning software suite,
 * Copyright (c) 1999-2016 by OpenMFG LLC, d/b/a xTuple.
 * It is licensed to you under the Common Public Attribution License
 * version 1.0, the full text of which (including xTuple-specific Exhibits)
 * is available at www.xtuple.com/CPAL.  By using this software, you agree
 * to be bound by its terms.
 */

#ifndef __CSVMAP_H__
#define __CSVMAP_H__

#include <QDomDocument>
#include <QDomElement>
#include <QList>
#include <QSqlField>
#include <QString>
#include <QStringList>
#include <QVariant>

class CSVMapField
{
  public:
    CSVMapField(const QString & name = QString::null);
    CSVMapField(const QDomElement &);
    virtual ~CSVMapField();

    void setName(const QString &);
    QString name() const { return _name; }

    void setIsKey(bool);
    bool isKey() const { return _isKey; }

    void setType(QVariant::Type);
    QVariant::Type type() const { return _type; }

    enum Action {
      Action_Default,
      Action_UseColumn,
      Action_UseEmptyString,
      Action_UseAlternateValue,
      Action_UseNull
    };
    void setAction(Action);
    Action action() const { return _action; }

    enum IfNull {
      Nothing,
      UseDefault,
      UseEmptyString,
      UseAlternateValue,
      UseAlternateColumn
    };
    void setIfNullAction(IfNull);
    IfNull ifNullAction() const { return _ifNullAction; }
    void setIfNullActionAlt(IfNull);
    IfNull ifNullActionAlt() const { return _ifNullActionAlt; }

    void setColumn(unsigned int);
    unsigned int column() const { return _column; }
    void setColumnAlt(unsigned int);
    unsigned int columnAlt() const { return _columnAlt; }

    void setValueAlt(const QString &);
    QString valueAlt() const { return _valueAlt; }

    bool isEmpty() const { return _name.isEmpty(); }
    bool isDefault() const;

    QDomElement createElement(QDomDocument &);

    static QString ifNullToName(IfNull);
    static IfNull nameToIfNull(const QString &);
    static QStringList ifNullList(bool altList = false);

    static QString actionToName(Action);
    static Action nameToAction(const QString &);
    static QStringList actionList();

  private:
    QString _name;
    bool    _isKey;
    QVariant::Type _type;
    Action _action;
    unsigned int _column;
    IfNull  _ifNullAction;
    unsigned int _columnAlt;
    IfNull  _ifNullActionAlt;
    QString _valueAlt;
};

class CSVMap
{
  public:
    static QString DefaultDelimiter;

    CSVMap(const QString & name = QString::null);
    CSVMap(const QDomElement &);
    virtual ~CSVMap();

    void setName(const QString &);
    QString name() const { return _name; }
    void setTable(const QString &);
    QString table() const { return _table; }
    void setDescription(const QString &);
    QString description() const { return _description; }
    void setDelimiter(const QString &delim);
    QString delimiter()   const { return _delimiter; }
    enum Action { Insert, Update, Append };
    void setAction(Action);
    Action action() const { return _action; }

    void setField(const CSVMapField &);
    bool removeField(const QString &);
    CSVMapField field(const QString &) const;
    QStringList fieldList() const;
    QList<CSVMapField> fields() const { return _fields; }

    void setSqlPre(const QString &);
    QString sqlPre() const { return _sqlPre; }
    void setSqlPreContinueOnError(bool);
    bool sqlPreContinueOnError() { return _sqlPreContinueOnError; }
    void setSqlPost(const QString &);
    QString sqlPost() const { return _sqlPost; }

    bool isEmpty() const { return _name.isEmpty(); }

    void simplify();

    QDomElement createElement(QDomDocument &);

    static QString actionToName(Action);
    static Action nameToAction(const QString &);

  protected:
    QList<CSVMapField> _fields;

  private:
    QString _sqlPre;
    bool    _sqlPreContinueOnError;
    QString _sqlPost;
    QString _name;
    QString _table;
    Action _action;
    QString _description;
    QString _delimiter;
};

#endif