77 lines
2.2 KiB
C++
77 lines
2.2 KiB
C++
/**
|
|
* PANDA 3D SOFTWARE
|
|
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
*
|
|
* All use of this software is subject to the terms of the revised BSD
|
|
* license. You should have received a copy of this license along
|
|
* with this source code in a file named "LICENSE."
|
|
*
|
|
* @file load_prc_file.h
|
|
* @author drose
|
|
* @date 2004-10-22
|
|
*/
|
|
|
|
#ifndef LOAD_PRC_FILE_H
|
|
#define LOAD_PRC_FILE_H
|
|
|
|
#include "pandabase.h"
|
|
#include "filename.h"
|
|
|
|
class ConfigPage;
|
|
class HashVal;
|
|
|
|
BEGIN_PUBLISH
|
|
/**
|
|
* A convenience function for loading explicit prc files from a disk file or
|
|
* from within a multifile (via the virtual file system). Save the return
|
|
* value and pass it to unload_prc_file() if you ever want to unload this file
|
|
* later.
|
|
*
|
|
* The filename is first searched along the default prc search path, and then
|
|
* also along the model path, for convenience.
|
|
*
|
|
* This function is defined in putil instead of in dtool with the read of the
|
|
* prc stuff, so that it can take advantage of the virtual file system (which
|
|
* is defined in express), and the model path (which is in putil).
|
|
*/
|
|
EXPCL_PANDA_PUTIL ConfigPage *
|
|
load_prc_file(const Filename &filename);
|
|
|
|
/**
|
|
* Another convenience function to load a prc file from an explicit string,
|
|
* which represents the contents of the prc file.
|
|
*
|
|
* The first parameter is an arbitrary name to assign to this in-memory prc
|
|
* file. Supply a filename if the data was read from a file, or use any other
|
|
* name that is meaningful to you. The name is only used when the set of
|
|
* loaded prc files is listed.
|
|
*/
|
|
EXPCL_PANDA_PUTIL ConfigPage *
|
|
load_prc_file_data(const std::string &name, const std::string &data);
|
|
|
|
/**
|
|
* Unloads (and deletes) a ConfigPage that represents a prc file that was
|
|
* previously loaded by load_prc_file(). Returns true if successful, false if
|
|
* the file was unknown.
|
|
*
|
|
* After this function has been called, the ConfigPage pointer is no longer
|
|
* valid and should not be used again.
|
|
*/
|
|
EXPCL_PANDA_PUTIL bool
|
|
unload_prc_file(ConfigPage *page);
|
|
|
|
#ifdef HAVE_OPENSSL
|
|
|
|
/**
|
|
* Fills HashVal with the hash from the current prc file state as reported by
|
|
* ConfigVariableManager::write_prc_variables().
|
|
*/
|
|
EXPCL_PANDA_PUTIL void
|
|
hash_prc_variables(HashVal &hash);
|
|
|
|
#endif // HAVE_OPENSSL
|
|
|
|
|
|
END_PUBLISH
|
|
|
|
#endif
|