Coverage Report

Created: 2026-03-15 06:44

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/opendnp3/cpp/lib/src/app/DNP3Serializer.h
Line
Count
Source
1
/*
2
 * Copyright 2013-2022 Step Function I/O, LLC
3
 *
4
 * Licensed to Green Energy Corp (www.greenenergycorp.com) and Step Function I/O
5
 * LLC (https://stepfunc.io) under one or more contributor license agreements.
6
 * See the NOTICE file distributed with this work for additional information
7
 * regarding copyright ownership. Green Energy Corp and Step Function I/O LLC license
8
 * this file to you under the Apache License, Version 2.0 (the "License"); you
9
 * may not use this file except in compliance with the License. You may obtain
10
 * a copy of the License at:
11
 *
12
 * http://www.apache.org/licenses/LICENSE-2.0
13
 *
14
 * Unless required by applicable law or agreed to in writing, software
15
 * distributed under the License is distributed on an "AS IS" BASIS,
16
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
 * See the License for the specific language governing permissions and
18
 * limitations under the License.
19
 */
20
#ifndef OPENDNP3_DNP3SERIALIZER_H
21
#define OPENDNP3_DNP3SERIALIZER_H
22
23
#include "Serializer.h"
24
25
#include "opendnp3/app/GroupVariationID.h"
26
27
namespace opendnp3
28
{
29
30
template<class T> class DNP3Serializer : public Serializer<T>
31
{
32
public:
33
    DNP3Serializer(GroupVariationID id,
34
                   size_t size,
35
                   typename Serializer<T>::read_func_t read_func,
36
                   typename Serializer<T>::write_func_t write_func)
37
0
        : Serializer<T>(size, read_func, write_func), id(id)
38
0
    {
39
0
    }
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::TimeAndInterval>::DNP3Serializer(opendnp3::GroupVariationID, unsigned long, bool (*)(ser4cpp::RSeq<unsigned long>&, opendnp3::TimeAndInterval&), bool (*)(opendnp3::TimeAndInterval const&, ser4cpp::WSeq<unsigned long>&))
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::ControlRelayOutputBlock>::DNP3Serializer(opendnp3::GroupVariationID, unsigned long, bool (*)(ser4cpp::RSeq<unsigned long>&, opendnp3::ControlRelayOutputBlock&), bool (*)(opendnp3::ControlRelayOutputBlock const&, ser4cpp::WSeq<unsigned long>&))
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputInt32>::DNP3Serializer(opendnp3::GroupVariationID, unsigned long, bool (*)(ser4cpp::RSeq<unsigned long>&, opendnp3::AnalogOutputInt32&), bool (*)(opendnp3::AnalogOutputInt32 const&, ser4cpp::WSeq<unsigned long>&))
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputInt16>::DNP3Serializer(opendnp3::GroupVariationID, unsigned long, bool (*)(ser4cpp::RSeq<unsigned long>&, opendnp3::AnalogOutputInt16&), bool (*)(opendnp3::AnalogOutputInt16 const&, ser4cpp::WSeq<unsigned long>&))
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputFloat32>::DNP3Serializer(opendnp3::GroupVariationID, unsigned long, bool (*)(ser4cpp::RSeq<unsigned long>&, opendnp3::AnalogOutputFloat32&), bool (*)(opendnp3::AnalogOutputFloat32 const&, ser4cpp::WSeq<unsigned long>&))
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputDouble64>::DNP3Serializer(opendnp3::GroupVariationID, unsigned long, bool (*)(ser4cpp::RSeq<unsigned long>&, opendnp3::AnalogOutputDouble64&), bool (*)(opendnp3::AnalogOutputDouble64 const&, ser4cpp::WSeq<unsigned long>&))
40
41
    GroupVariationID ID() const
42
0
    {
43
0
        return id;
44
0
    }
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::TimeAndInterval>::ID() const
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::ControlRelayOutputBlock>::ID() const
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputInt32>::ID() const
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputInt16>::ID() const
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputFloat32>::ID() const
Unexecuted instantiation: opendnp3::DNP3Serializer<opendnp3::AnalogOutputDouble64>::ID() const
45
46
private:
47
    GroupVariationID id;
48
};
49
50
} // namespace opendnp3
51
52
#endif