/usr/include/dclib-0.3/dclib/csharelist.h is in libdc-dev 0.3.24~svn3121-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | /***************************************************************************
csharelisr.h - description
-------------------
begin : Mon May 12 2003
copyright : (C) 2003 by Mathias Küster
email : mathen@users.berlios.de
***************************************************************************/
/***************************************************************************
* *
* 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 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef CSHARELIST_H
#define CSHARELIST_H
/**
*@author Mathias Küster
*
* This generates the filelist, both in obsolete text, and XML
* formats. The index.lst text file is used because CSearchIndex
* does not store directory structure. index.lst is basically a text
* filelist but with indexes to the file in CSearchIndex in place of
* the file size.
*
* To handle partial list requests ($ADCGET list ...),
* CShareTreeFolder was added, which forms a tree structure, rather
* than attempting to parse index.lst.
*/
#include <dclib/dcos.h>
#include <dclib/core/cstring.h>
#include <dclib/core/types.h>
#include <dclib/core/cmutex.h>
class CByteArray;
class CSearchIndex;
class CShareTreeFolder;
class CShareList {
public:
/** */
CShareList();
/** */
virtual ~CShareList();
/** */
bool Load();
/** */
void SetIndexBuffer( const CString & s );
/**
* The share index buffer (contents of index.lst) is
* no longer kept in memory after being used
* so either Load() or SetIndexBuffer() must be used
* before creating the listings.
*/
void CreateList( CSearchIndex * si );
/** */
ulonglong GetShareSize() const;
/** */
unsigned long GetShareBufferSize( eShareBufferType type );
/** */
int GetShareBuffer( eShareBufferType type, CByteArray * sharebuffer, bool decompress = false );
/** */
void GetPartialListing( const CString & dir, CString & result, int depth, CSearchIndex * si );
private:
/** */
void CreateBuffer( enum eShareBufferType e, const CString & sharebuffer );
/** */
void Save();
/** */
ulonglong m_nShareSize;
/** */
CString m_sIndexShareBuffer;
/** */
CByteArray * m_pHE3ShareBuffer;
/** */
CByteArray * m_pBZShareBuffer;
/** */
CByteArray * m_pXMLBZShareBuffer;
/** */
CMutex m_MutexShareList;
/** */
CShareTreeFolder * m_pRootItem;
};
#endif
|