GoWebScan API
GoWebScanPipeMsg.h
Go to the documentation of this file.
1 /**
2 * @file GoWebScanPipeMsg.h
3 * @brief Declares the GoWebScanPipeMsg class
4 *
5 * @internal
6 * Copyright (C) 2017-2026 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 #ifndef GO_SCANNER_PIPE_MSG_H
11 #define GO_SCANNER_PIPE_MSG_H
12 
14 
15 /**
16 * @class GoWebScanPipeMsg
17 * @extends kObject
18 * @ingroup GoWebScanSdk-Pipe
19 * @brief Base class for a msg that can be processed with a GoWebScanPipeTask and submitted to the GoWebScanPipe for scheduling.
20 * GoWebScanPipeMsg objects have a thread-safe reference count. GoWebScanPipeMsg objects are always allocated from
21 * GoWebScanPipeMsgPool objects with a default reference count of 1. When the reference count reaches zero, the message is
22 * recycled to the pool free list. This allows for efficient reuse of message memory.
23 */
24 typedef kObject GoWebScanPipeMsg;
25 
26 // Forward declarations
28 
29 /**
30 * Increments the msg's reference count.
31 *
32 * @public @memberof GoWebScanPipeMsg
33 * @param msg GoWebScanPipeMsg object.
34 * @return Operation status.
35 */
37 
38 /**
39 * Decrements the msg's reference count. If the count reaches zero, the message is recycled to the
40 * GoWebScanPipeMsgPool free list.
41 *
42 * @public @memberof GoWebScanPipeMsg
43 * @param msg GoWebScanPipeMsg object.
44 * @return Operation status.
45 */
47 
48 /**
49 * Sets the stamp associated with the message.
50 *
51 * @public @memberof GoWebScanPipeMsg
52 * @param msg GoWebScanPipeMsg object.
53 * @param stamp Message stamp.
54 * @return Operation status.
55 */
57 
58 /**
59 * Gets the stamp associated with the message.
60 *
61 * @public @memberof GoWebScanPipeMsg
62 * @param msg GoWebScanPipeMsg object.
63 * @return Message stamp.
64 */
66 
67 /**
68 * Gets the message type.
69 *
70 * @public @memberof GoWebScanPipeMsg
71 * @param msg GoWebScanPipeMsg object.
72 * @return Message type.
73 */
75 
76 /**
77 * Gets the size, in bytes, of the message's data buffer.
78 *
79 * @public @memberof GoWebScanPipeMsg
80 * @param msg GoWebScanPipeMsg object.
81 * @return Message size.
82 */
84 
85 #include <GoWebScanSdk/GoWebScanPipeMsg.x.h>
86 
87 #endif
88 
kStatus GoWebScanPipeMsg_Relinquish(GoWebScanPipeMsg msg)
Decrements the msg's reference count.
GoWebScanMsgStamp * GoWebScanPipeMsg_GetStamp(GoWebScanPipeMsg msg)
Gets the stamp associated with the message.
kStatus GoWebScanPipeMsg_SetStamp(GoWebScanPipeMsg msg, const GoWebScanMsgStamp *stamp)
Sets the stamp associated with the message.
Essential GoWebScan declarations.
kSize GoWebScanPipeMsg_Size(GoWebScanPipeMsg msg)
Gets the size, in bytes, of the message's data buffer.
Represents a message stamp containing properties of a message.
Definition: GoWebScanSdkDef.h:484
Represents a type of GoWebScan message.
Represents a pool of GoWebScanPipeMsg objects. The pool allocates GoWebScanPipeMsg objects with a def...
Base class for a msg that can be processed with a GoWebScanPipeTask and submitted to the GoWebScanPip...
GoWebScanMsgType GoWebScanPipeMsg_TypeId(GoWebScanPipeMsg msg)
Gets the message type.
kStatus GoWebScanPipeMsg_Acquire(GoWebScanPipeMsg msg)
Increments the msg's reference count.