///////////////////////////////////////////////////////////////////////////////
///////   Copyright 1992, Silicon Graphics, Inc.  All Rights Reserved.   //////
//                                                                           //
// This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;    //
// the contents of this file may not be disclosed to third parties, copied   //
// or duplicated in any form, in whole or in part, without the prior written //
// permission of Silicon Graphics, Inc.                                      //
//                                                                           //
// RESTRICTED RIGHTS LEGEND:                                                 //
// Use,duplication or disclosure by the Government is subject to restrictions//
// as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data    //
// and Computer Software clause at DFARS 252.227-7013, and/or in similar or  //
// successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -   //
// rights reserved under the Copyright Laws of the United States.            //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////


#ifndef VKCONTEXTDATA_H
#define VKCONTEXTDATA_H

///////////////////////////////////////////////////////////////////////////////
// VkContextData.h

#include <Xm/Xm.h>
#include <Vk/VkBase.h>

class VkComponent;


class VkContextData : public VkBase {

  public:
                VkContextData(Boolean root = FALSE);
    virtual    ~VkContextData();

    XtPointer   registerData ( VkComponent *comp, XtPointer data );
    XtPointer   registerData ( Widget widget, XtPointer data );

    XtPointer   fetchData    ( VkComponent *comp );
    XtPointer   fetchData    ( Widget widget );

    XtPointer   removeData   ( VkComponent *comp );
    XtPointer   removeData   ( Widget widget );

  protected:

  private:
    XContext    _xContext;
    Boolean     _root;

}; 

#endif /* VKCONTEXTDATA_H */
