Statistics
| Revision:

svn-gvsig-desktop / branches / v10 / libraries / libjni-readecw-linux / include / NCSJPCDCShiftNode.h @ 9916

History | View | Annotate | Download (2.39 KB)

1
/********************************************************
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: 8767 $ $Author: jjdelcerro $ $Date: 2006-11-15 05:11:32 +0100 (Wed, 15 Nov 2006) $ 
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