You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
5.7 KiB

/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
/*****************************************************************************
*
* $/Plasma20/Sources/Plasma/PubUtilLib/plVault/plVaultConstants.h
*
***/
#ifdef PLASMA20_SOURCES_PLASMA_PUBUTILLIB_PLVAULT_PLVAULTCONSTANTS_H
#error "Header $/Plasma20/Sources/Plasma/PubUtilLib/plVault/plVaultConstants.h included more than once"
#endif
#define PLASMA20_SOURCES_PLASMA_PUBUTILLIB_PLVAULT_PLVAULTCONSTANTS_H
////////////////////////////////////////////////////////////////////
// plVault: Plasma Network File System
//
class plAgeInfoSource;
////////////////////////////////////////////////////////////////////
namespace plVault {
// ONLY APPEND TO THIS ENUM.
// Many of these values are stored in db.
// These are also commonly used as the Initialized Contexts in various node init tasks.
// These values may not change unless all clients, servers, and databases are simultaneously
// replaced; so forget it, basically. =)
enum StandardNodes {
// Just a node.
kUserDefinedNode = 0,
// Every vnode mgr has an inbox.
kInboxFolder,
// player buddies list.
kBuddyListFolder,
// player ignore list.
kIgnoreListFolder,
// people I know about folder.
kPeopleIKnowAboutFolder,
// vault manager place to store its stuff.
kVaultMgrGlobalDataFolder,
// player chronicle.
kChronicleFolder,
// player avatar outfit.
kAvatarOutfitFolder,
// player Age Type Journals.
kAgeTypeJournalFolder,
// age Sub Ages list.
kSubAgesFolder,
// an imager's inbox.
kDeviceInboxFolder,
// hood members folder.
kHoodMembersFolder, // DO NOT DELETE without MarkD's permission.
// all players folder.
kAllPlayersFolder,
// folder for keeping age members in
kAgeMembersFolder,
// List of player's KI Age journals.
kAgeJournalsFolder,
// an age's list of devices (imagers, whatever).
kAgeDevicesFolder,
// an sdl node that applies to one specific instance of an age.
kAgeInstanceSDLNode,
// an sdl node that applies to all ages by the same filename.
kAgeGlobalSDLNode,
// people who are invited to visit an age
kCanVisitFolder,
// people who are owners of an age
kAgeOwnersFolder,
// global folder for game servers
kAllAgeGlobalSDLNodesFolder,
// a player's player info node. used in init task as the init context for the node
kPlayerInfoNode,
// global folder: ages that are public
kPublicAgesFolder,
// ages a player owns (personal age bookshelf comes from here)
kAgesIOwnFolder,
// ages a player can visit
kAgesICanVisitFolder,
// the player's closet
kAvatarClosetFolder,
// an age's info node. used in age init task.
kAgeInfoNode,
// the system status node
kSystemNode,
// a players invite keyring
kPlayerInviteFolder,
// CCR players folder
kCCRPlayersFolder,
// Global Inbox folder
kGlobalInboxFolder,
// Child Age folder node list
kChildAgesFolder,
// Game Scores folder
kGameScoresFolder,
// THIS MUST BE THE LAST ENUM VALUE
kLastStandardNode,
};
// All possible node types. These values may not change unless all clients,
// servers, and databases are simultaneously replaced; so forget it, basically. =)
enum NodeTypes {
kNodeType_Invalid,
kNodeType_VNodeMgrLow, // low marker for range of VNodeMgr types
kNodeType_VNodeMgrPlayer,
kNodeType_VNodeMgrAge,
kNodeType_VNodeMgr_UNUSED00,
kNodeType_VNodeMgr_UNUSED01,
kNodeType_VNodeMgr_UNUSED02,
kNodeType_VNodeMgr_UNUSED03,
kNodeType_VNodeMgrHigh = kNodeType_VNodeMgrLow + 20, // high marker for range of VNodeMgr client types
kNodeType_Folder,
kNodeType_PlayerInfo,
kNodeType_System,
kNodeType_Image,
kNodeType_TextNote,
kNodeType_SDL,
kNodeType_AgeLink,
kNodeType_Chronicle,
kNodeType_PlayerInfoList,
kNodeType_UNUSED00,
kNodeType_UNUSED01,
kNodeType_AgeInfo,
kNodeType_AgeInfoList,
kNodeType_MarkerGame,
};
// All possible text note types
enum NoteTypes {
kNoteType_Generic,
kNoteType_CCRPetition,
kNoteType_Device,
kNoteType_Invite,
kNoteType_Visit,
kNoteType_UnVisit,
kNumNoteTypes
};
enum NoteSubTypes {
kNoteSubType_Generic,
};
//============================================================================
#ifdef CLIENT
const char * NodeTypeStr( int type, bool pretty=false );
const char * StandardNodeStr( int type );
#endif
};