Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libjni-readecw-linux / include / NCSJPCDCShiftNode.h @ 10630

History | View | Annotate | Download (2.39 KB)

1 1448 igbrotru
/********************************************************
2
** Copyright 2003 Earth Resource Mapping Ltd.
3
** This document contains proprietary source code of
4
** Earth Resource Mapping Ltd, and can only be used under
5
** one of the three licenses as described in the
6
** license.txt file supplied with this distribution.
7
** See separate license.txt file for license details
8
** and conditions.
9
**
10
** This software is covered by US patent #6,442,298,
11
** #6,102,897 and #6,633,688.  Rights to use these patents
12
** is included in the license agreements.
13
**
14
** FILE:     $Archive: /NCS/Source/include/NCSJPCDCShiftNode.h $
15
** CREATED:  20/03/2003 3:27:34 PM
16
** AUTHOR:   Simon Cope
17
** PURPOSE:  CNCSJPCDCShiftNode class header
18
** EDITS:    [xx] ddMmmyy NAME COMMENTS
19
 *******************************************************/
20
21
#ifndef NCSJPCDCSHIFTNODE_H
22
#define NCSJPCDCSHIFTNODE_H
23
24
#ifndef NCSJPCNODE_H
25
#include "NCSJPCNode.h"
26
#endif // NCSJPCNODE_H
27
28
        /**
29
         * NCSJPCDCSHIFTNODE_H class - DC level shifting.
30
         *
31
         * @author       Simon Cope
32
         * @version      $Revision$ $Author$ $Date$
33
         */
34
class NCSJPC_EXPORT_ALL CNCSJPCDCShiftNode: public CNCSJPCNode {
35
public:
36
                /** Default constructor, initialises members */
37
        CNCSJPCDCShiftNode();
38
                /** Virtual destructor */
39
        virtual ~CNCSJPCDCShiftNode();
40
41
                /**
42
                 * Initialise this node.
43
                 * @param                nCtx                Read context
44
                 * @param                JPC                        CNCSJPC instance
45
                 * @param                iComponent        Index of component this node is for.
46
                 * @return      bool                true on success, else false on error.
47
                 */
48
        virtual bool Init(ContextID nCtx, class CNCSJPC &JPC, UINT16 iComponent);
49
50
                /**
51
                 * Read a BufferType line from the input.
52
                 * @param                nCtx                Read context
53
                 * @param                pDst                Destination buffer.
54
                 * @param                iComponent        Output Component
55
                 * @return      bool                true on succes, else false.
56
                 */
57
        virtual bool ReadLine(ContextID nCtx, CNCSJPCBuffer *pDst, UINT16 iComponent);
58
59
protected:
60
        static CNCSJPCNodeTracker        sm_Tracker;
61
62
        class NCSJPC_EXPORT_ALL Context: public CNCSJPCNode::Context {
63
        public:
64
                UINT8        m_nSsiz;
65
                virtual ~Context() {};
66
        };
67
68
                /**
69
                 * Get the context for the given ContextID
70
                 * @param                nCtx                ContextID to retrive context
71
                 * @param                bAutoConstruct Autoconstruct a new context for this ContextID if one doesn't exist
72
                 * @return                Context*        Context for given ID.
73
                 */
74
        virtual CNCSJPCNode::Context *GetContext(ContextID nCtx, bool bAutoConstruct = true);
75
};
76
77
#endif // !NCSJPCDCSHIFTNODE_H