HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
UT_UniversalLogSubprocessSource.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* NAME: UT_UniversalLogStdStreamSource.h ( FS Library, C++)
7
*
8
* COMMENTS:
9
*
10
*/
11
12
#ifndef __UT_UniversalLogSubprocessSource__
13
#define __UT_UniversalLogSubprocessSource__
14
15
#include "
UT_API.h
"
16
#include "
UT_NonCopyable.h
"
17
#include "
UT_UniversalLogSource.h
"
18
#include "
UT_UniversalLogStreamHelper.h
"
19
#include <cstdio>
20
21
/// A class that holds information about a subprocess that directs its output
22
/// into the universal logging system through the subprocess source.
23
class
UT_API
UT_UniversalLogSubprocess
24
{
25
public
:
26
UT_UniversalLogSubprocess
(
27
const
UT_StringRef
&cmd,
28
FILE *original_stdout);
29
~
UT_UniversalLogSubprocess
();
30
31
UT_NON_COPYABLE
(
UT_UniversalLogSubprocess
)
32
33
FILE *getStdout()
const
34
{
return
myStdout; }
35
36
private
:
37
friend
class
UT_UniversalLogSubprocessSource
;
38
39
FILE *myStdout;
40
UT_UniversalLogStreamHelper
myHelper;
41
};
42
43
/// A log source for collecting data printed to stdout or stderr from another
44
/// process launched by Houdini.
45
class
UT_API
UT_UniversalLogSubprocessSource
:
public
UT_UniversalLogSource
46
{
47
public
:
48
UT_UniversalLogSubprocessSource
();
49
~
UT_UniversalLogSubprocessSource
()
override
;
50
51
UT_NON_COPYABLE
(
UT_UniversalLogSubprocessSource
)
52
53
static
const
UT_StringHolder
&staticName();
54
55
static
UT_UniversalLogSubprocess
*createSubprocess(
56
const
UT_StringHolder
&cmd,
57
FILE *subproc_stdout);
58
static
void
startLogging(
59
UT_UniversalLogSubprocess
&subprocess,
60
int
pid,
61
const
UT_StringHolder
&identifier);
62
};
63
64
#endif
65
UT_UniversalLogSource.h
UT_UniversalLogSubprocessSource
Definition:
UT_UniversalLogSubprocessSource.h:45
UT_API.h
UT_API
#define UT_API
Definition:
UT_API.h:14
UT_StringRef
Definition:
UT_StringHolder.h:188
UT_StringHolder
Definition:
UT_StringHolder.h:999
UT_NON_COPYABLE
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
Definition:
UT_NonCopyable.h:31
UT_UniversalLogStreamHelper
Definition:
UT_UniversalLogStreamHelper.h:24
UT_NonCopyable.h
UT_UniversalLogSource
Definition:
UT_UniversalLogSource.h:61
UT_UniversalLogStreamHelper.h
UT_UniversalLogSubprocess
Definition:
UT_UniversalLogSubprocessSource.h:23
UT
UT_UniversalLogSubprocessSource.h
Generated on Tue Dec 17 2024 03:42:24 for HDK by
1.8.6