libcmo21/Unvirt/StructFormatter.hpp
yyc12345 c7af11702f add some features in Unvirt
- add style [simple | full] command to allow simple display. current object list display take too much space.
- add search [obj | mgr] [plain | re] <text> command to allow user search object or manager list by substring or regex.
- add ls search <page> to browse the search result.
- set IronPad minidump dump type from full memory to normal.
- fix Unvirt ls command page count display error.
2023-10-28 18:17:53 +08:00

39 lines
1.2 KiB
C++

#pragma once
#include <VTAll.hpp>
#include <CK2/CKFile.hpp>
namespace Unvirt::StructFormatter {
#define PRIuSIZET "zu"
void PrintCKFileInfo(const LibCmo::CK2::CKFileInfo& fileinfo);
void PrintObjectList(
const LibCmo::XContainer::XArray<LibCmo::CK2::CKFileObject>& ls,
const LibCmo::CK2::CKFileInfo& fileinfo,
size_t page, size_t pageitems,
bool full_detail);
void PrintSearchedObjectList(
const LibCmo::XContainer::XArray<size_t>& idxls,
const LibCmo::XContainer::XArray<LibCmo::CK2::CKFileObject>& ls,
const LibCmo::CK2::CKFileInfo& fileinfo,
size_t page, size_t pageitems,
bool full_detail);
void PrintManagerList(
const LibCmo::XContainer::XArray<LibCmo::CK2::CKFileManagerData>& ls,
size_t page, size_t pageitems,
bool full_detail);
void PrintSearchedManagerList(
const LibCmo::XContainer::XArray<size_t>& idxls,
const LibCmo::XContainer::XArray<LibCmo::CK2::CKFileManagerData>& ls,
size_t page, size_t pageitems,
bool full_detail);
void PrintCKObject(const LibCmo::CK2::ObjImpls::CKObject*);
void PrintCKBaseManager(const LibCmo::CK2::MgrImpls::CKBaseManager*);
void PrintCKStateChunk(const LibCmo::CK2::CKStateChunk*);
}