LibreOffice Module idl (master) 1
bastype.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef INCLUDED_IDL_INC_BASTYPE_HXX
21#define INCLUDED_IDL_INC_BASTYPE_HXX
22
23
24#include <sal/types.h>
25#include <rtl/string.hxx>
26
28class SvIdlDataBase;
29class SvStream;
30class SvTokenStream;
31
32class SvBOOL
33{
34 bool bVal:1,
36public:
37 SvBOOL() { bSet = bVal = false; }
38 SvBOOL( bool b ) : bVal( b ), bSet( false) {}
39 SvBOOL & operator = ( bool n ) { bVal = n; bSet = true; return *this; }
40
41 operator bool() const { return bVal; }
42 bool IsSet() const { return bSet; }
43
44 bool ReadSvIdl( SvStringHashEntry const * pName, SvTokenStream & rInStm );
45};
46
47
49{
50 OString m_aStr;
51 sal_uInt32 nValue;
52public:
53 SvIdentifier() : nValue( 0 ) {};
54 SvIdentifier(sal_uInt32 n) : nValue( n ) {};
55
56 void setString(const OString& rStr) { m_aStr = rStr; }
57 const OString& getString() const { return m_aStr; }
58
59 void ReadSvIdl( SvStringHashEntry const * pName, SvTokenStream & rInStm );
60 bool IsSet() const
61 {
62 return !m_aStr.isEmpty() || nValue != 0;
63 }
64 sal_uInt32 GetValue() const { return nValue; }
65 void SetValue( sal_uInt32 bVal ) { nValue = bVal; }
66
67 void ReadSvIdl( SvIdlDataBase &, SvTokenStream & rInStm );
68};
69
70
71bool ReadStringSvIdl( SvStringHashEntry const * pName, SvTokenStream & rInStm, OString& aString );
72
73
74#endif // INCLUDED_IDL_INC_BASTYPE_HXX
75
76/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool ReadStringSvIdl(SvStringHashEntry const *pName, SvTokenStream &rInStm, OString &aString)
Definition: bastype.cxx:93
bool bSet
Definition: bastype.hxx:35
SvBOOL(bool b)
Definition: bastype.hxx:38
SvBOOL()
Definition: bastype.hxx:37
bool bVal
Definition: bastype.hxx:34
bool IsSet() const
Definition: bastype.hxx:42
SvBOOL & operator=(bool n)
Definition: bastype.hxx:39
bool ReadSvIdl(SvStringHashEntry const *pName, SvTokenStream &rInStm)
Definition: bastype.cxx:26
void ReadSvIdl(SvStringHashEntry const *pName, SvTokenStream &rInStm)
Definition: bastype.cxx:49
bool IsSet() const
Definition: bastype.hxx:60
void SetValue(sal_uInt32 bVal)
Definition: bastype.hxx:65
SvIdentifier(sal_uInt32 n)
Definition: bastype.hxx:54
void setString(const OString &rStr)
Definition: bastype.hxx:56
sal_uInt32 nValue
Definition: bastype.hxx:51
OString m_aStr
Definition: bastype.hxx:50
const OString & getString() const
Definition: bastype.hxx:57
sal_uInt32 GetValue() const
Definition: bastype.hxx:64
sal_Int64 n