Version: 9.16.0
Utils_Identity.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// SALOME Utils : general SALOME's definitions and tools
24// File : Utils_Identity.hxx
25// Author : Pascale NOYRET, EDF
26// Module : SALOME
27// $Header$
28//
29# if !defined( __IDENTITE_H__ )
30# define __IDENTITE_H__
31
32#include "SALOME_Utils.hxx"
33
34extern "C"
35{
36# include <stdlib.h>
37# include <time.h>
38#ifndef WIN32
39# include <unistd.h>
40# include <sys/utsname.h>
41#else
42# include <windows.h>
43#endif
44}
45
47{
48
49protected :
50 const char* const _name ;
51 const char* const _adip; // Internet address
52
53#ifndef WIN32
54 const struct utsname _hostid;
55 const pid_t _pid ;
56 const uid_t _uid ;
57#else
58 const char* const _hostid;
59 const DWORD _pid ;
60 const PSID _uid ;
61#endif
62 const char* const _pwname ;
63 const char* const _dir ;
64 const time_t _start;
65 const char* const _cstart ;
66
67private :
68 Identity( void );
69 Identity( const Identity &monid );
70
71public :
72 Identity(const char *name);
73 ~Identity();
74 friend std::ostream & operator<< ( std::ostream& os , const Identity& monid );
75
76#ifndef WIN32
77 const pid_t& pid(void) const;
78 const struct utsname& hostid(void) const;
79 const uid_t& uid(void) const;
80#else
81 const DWORD& pid(void) const;
82 const char* hostid(void) const;
83 const PSID& uid(void) const;
84#endif
85
86 const char* name( void ) const;
87 const char* adip(void) const;
88 const char* pwname(void) const;
89 const time_t& start(void) const;
90 const char* rep (void) const;
91
92 const char* host_char(void ) const;
93 const char* start_char(void) const;
94
95} ;
96# endif /* # if !defined( __IDENTITE_H__ ) */
std::ostream & operator<<(std::ostream &os, const std::pair< T, U > &p)
Definition: DisplayPair.hxx:35
#define UTILS_EXPORT
Definition: SALOME_Utils.hxx:37
Definition: Utils_Identity.hxx:47
const char *const _adip
Definition: Utils_Identity.hxx:51
const time_t _start
Definition: Utils_Identity.hxx:64
Identity(void)
const uid_t _uid
Definition: Utils_Identity.hxx:56
Identity(const Identity &monid)
const pid_t _pid
Definition: Utils_Identity.hxx:55
const char *const _dir
Definition: Utils_Identity.hxx:63
const char *const _cstart
Definition: Utils_Identity.hxx:65
const char *const _pwname
Definition: Utils_Identity.hxx:62
const char *const _name
Definition: Utils_Identity.hxx:50
string name
Definition: pythfilter.py:56