NCBI C++ ToolKit
ncbi_userhost.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: ncbi_userhost.cpp 45397 2010-04-08 18:49:38Z grichenk $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: Aleksey Grichenko
27  *
28  * File Description:
29  * User and host setup for NCBI Diag
30  *
31  */
32 
33 #include <ncbi_pch.hpp>
34 #include <connect/ncbi_util.h>
35 #include <connect/ncbi_socket.hpp>
37 
38 
40 
41 
43 {
45  if ((flags & fDiag_AddUser) != 0 &&
46  (((flags & fDiag_OverrideExisting) != 0) ||
47  ctx.GetUsername().empty())) {
48  const int user_len = 256;
49  char user[user_len];
50  CORE_GetUsername(user, user_len);
51  if ( *user ) {
53  }
54  }
55  if ((flags & fDiag_AddHost) != 0 &&
56  (((flags & fDiag_OverrideExisting) != 0) ||
57  ctx.GetHostname().empty())) {
58  const string& host = CSocketAPI::gethostname();
59  if ( !host.empty() ) {
61  }
62  }
63 }
64 
65 
static uch flags
CS_CONTEXT * ctx
Definition: t0006.c:12
CDiagContext & GetDiagContext(void)
Get diag context instance.
Definition: logging.cpp:818
void SetHostname(const string &hostname)
Set hostname.
Definition: ncbidiag.cpp:1838
int TDiagUserAndHost
void SetDiagUserAndHost(TDiagUserAndHost flags)
Set username and hostname properties for the diag context.
void SetUsername(const string &username)
Set username.
Definition: ncbidiag.cpp:1760
@ fDiag_OverrideExisting
Set current user and host even if they are already set.
@ fDiag_AddUser
Add username to diag context.
@ fDiag_AddHost
Add hostname to diag context.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
static string gethostname(ESwitch log=eOff)
Return empty string on error.
const char * CORE_GetUsername(char *buf, size_t bufsize)
Equivalent to CORE_GetUsernameEx(buf, bufsize, eNCBI_UsernameLogin) except that it always returns non...
Definition: ncbi_util.c:962
Modified on Sun Apr 14 05:24:21 2024 by modify_doxy.py rev. 669887