//
//  Copyright © 2002, RESON Inc. All Rights Reserved.
//
//  No part of this file may be reproduced or transmitted in any form or by
//  any means, electronic or mechanical, including photocopy, recording, or
//  information storage or retrieval system, without permission in writing
//  from RESON Inc.
//
//  Filename:   7kInBoundMemory.h
//
//  Project:    6046
//
//  Author(s):  W. Arcus
//
//  Purpose:    
//
//  Notes:      
//

#if !defined(AFX_7KINBOUNDMEMORY_H__8B8ED79A_F186_495A_AEA4_499240E41E8A__INCLUDED_)
#define AFX_7KINBOUNDMEMORY_H__8B8ED79A_F186_495A_AEA4_499240E41E8A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "7kSharedMemory.h"

class C7kInBoundMemory : protected C7kSharedMemory  
{
public:

    ///////////////
    // Definitions.

    typedef enum tagEINBOUNDTYPE
    {
        inboundTypeUDP      = 0,
        inboundTypeTCP,
        inboundTypeMemory
    }
    EINBOUNDTYPE;

    ///////////////
    // Services.

                    C7kInBoundMemory        (   void );
    virtual        ~C7kInBoundMemory        (   void );

    bool            Open                    (   void );

    bool            Write                   (   const BYTE                  *pbyData,
                                                const DWORD                 &rdwSize,
                                                const DWORD                 &rdwAddress         = 0UL,
                                                const WORD                  &rwPort             = 0,
                                                const WORD                  &rwTransmissionId   = 0,
                                                const DWORD                 &rdwType            = static_cast<DWORD>( inboundTypeMemory ),
                                                const SOCKET                &rhSocket           = INVALID_SOCKET );

};

#endif // !defined(AFX_7KINBOUNDMEMORY_H__8B8ED79A_F186_495A_AEA4_499240E41E8A__INCLUDED_)
