VirtualBox

Changeset 1080 in vbox for trunk/src/VBox/Main/include


Ignore:
Timestamp:
Feb 28, 2007 8:28:11 AM (18 years ago)
Author:
vboxsync
Message:
  • Support for save and restore added for shared folders.
  • Object type checking added
Location:
trunk/src/VBox/Main/include/hgcm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/hgcm/HGCM.h

    r906 r1080  
    4343int hgcmHostCallInternal (const char *pszServiceName, uint32_t function, uint32_t cParms, VBOXHGCMSVCPARM aParms[]);
    4444
    45 int hgcmSaveStateInternal (PPDMIHGCMPORT pHGCMPort, uint32_t clientID, PSSMHANDLE pSSM);
    46 int hgcmLoadStateInternal (PPDMIHGCMPORT pHGCMPort, uint32_t clientID, PSSMHANDLE pSSM);
     45int hgcmSaveStateInternal (uint32_t clientID, PSSMHANDLE pSSM);
     46int hgcmLoadStateInternal (uint32_t clientID, PSSMHANDLE pSSM);
    4747
    4848__END_DECLS
  • trunk/src/VBox/Main/include/hgcm/HGCMObjects.h

    r1 r1080  
    3636} ObjectAVLCore;
    3737
     38typedef enum
     39{
     40    HGCMOBJ_CLIENT,
     41    HGCMOBJ_THREAD,
     42    HGCMOBJ_MSG,
     43    HGCMOBJ_SizeHack   = 0x7fffffff
     44} HGCMOBJ_TYPE;
     45
    3846class HGCMObject
    3947{
     
    4250
    4351        int32_t volatile cRef;
     52        HGCMOBJ_TYPE     enmObjType;
    4453
    4554        ObjectAVLCore Core;
     
    5160
    5261    public:
    53         HGCMObject () : cRef (0) {};
     62        HGCMObject (HGCMOBJ_TYPE enmObjType) : cRef (0)
     63        {
     64            this->enmObjType  = enmObjType;
     65        };
    5466
    5567        void Reference (void)
     
    7991            return Core.AvlCore.Key;
    8092        };
     93
     94        HGCMOBJ_TYPE Type (void)
     95        {
     96            return enmObjType;
     97        };
    8198};
    8299
     
    89106void hgcmObjDeleteHandle (uint32_t handle);
    90107
    91 HGCMObject *hgcmObjReference (uint32_t handle);
     108HGCMObject *hgcmObjReference (uint32_t handle, HGCMOBJ_TYPE enmObjType);
    92109
    93110void hgcmObjDereference (HGCMObject *pObject);
    94111
     112uint32_t hgcmObjQueryHandleCount ();
     113void     hgcmObjSetHandleCount (uint32_t u32HandleCount);
     114
    95115#endif /* __HGCMOBJECTS__H */
  • trunk/src/VBox/Main/include/hgcm/HGCMThread.h

    r1 r1080  
    9595
    9696    public:
    97         HGCMMsgCore () {};
     97        HGCMMsgCore () : HGCMObject(HGCMOBJ_MSG) {};
    9898
    9999        uint32_t MsgId (void) { return m_u32Msg; };
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette