gecko-dev/lib/libaddr/abinfo.h
1998-06-22 21:46:46 +00:00

66 lines
2.0 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef _ABINFO_H
#define _ABINFO_H
const int kNumUnused = 20;
const int kAddrInfoVersion = 1;
class ABNeoABInfo : public CNeoPersistNative
{
public:
/** Instance Methods **/
ABNeoABInfo();
static CNeoPersist *New(void);
void SetSortByFirstName(Bool sortby = TRUE) { m_sortByFirstName = sortby; setDirty();};
XP_Bool GetSortByFirstName() {return m_sortByFirstName;};
virtual NeoID getClassID(void) const {return kNeoABInfoID;};
virtual long getFileLength(const CNeoFormat *aFormat) const;
/** I/O Methods **/
virtual void readObject(CNeoStream *aStream, const NeoTag aTag);
virtual void writeObject(CNeoStream *aStream, const NeoTag aTag);
#if defined(qNeoTrace_mccusker) || defined(qNeoXml_mccusker)
virtual const char* classDebugName() const;
//virtual char* asXmlString(char* buf256) const; // buf256 must be >= 256 bytes
//virtual void traceObject() const;
#endif
/** Schema-Evolution Methods **/
virtual NeoMark convert(CNeoFormat *aOldFormat, CNeoFormat *aNewFormat);
public:
#ifdef qNeoDebug
/** Debugging Methods **/
virtual const void *verify(const void *aValue) const;
#endif
protected:
XP_Bool m_sortByFirstName;
// db object on disk contains kNumUnused more uint32's for future expansion
};
#endif