~ubuntu-branches/ubuntu/breezy/ace/breezy

« back to all changes in this revision

Viewing changes to ace/IPC_SAP.h

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad, Benjamin Montgomery, Adam Conrad
  • Date: 2005-09-18 22:51:38 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 sarge) (0.1.2 woody)
  • Revision ID: james.westby@ubuntu.com-20050918225138-seav22q6fyylb536
Tags: 5.4.7-3ubuntu1
[ Benjamin Montgomery ]
* Added a patch for amd64 and powerpc that disables the compiler
  option -fvisibility-inlines-hidden

[ Adam Conrad ]
* Added DPATCH_OPTION_CPP=1 to debian/patches/00options to make
  Benjamin's above changes work correctly with dpatch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- C++ -*- */
2
 
 
3
 
//=============================================================================
4
 
/**
5
 
 *  @file    IPC_SAP.h
6
 
 *
7
 
 *  IPC_SAP.h,v 4.18 2003/07/19 19:04:11 dhinton Exp
8
 
 *
9
 
 *  @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
10
 
 */
11
 
//=============================================================================
12
 
 
13
 
#ifndef ACE_IPC_SAP_H
14
 
#define ACE_IPC_SAP_H
15
 
#include /**/ "ace/pre.h"
16
 
 
17
 
#include "ace/Flag_Manip.h"
18
 
 
19
 
#if !defined (ACE_LACKS_PRAGMA_ONCE)
20
 
# pragma once
21
 
#endif /* ACE_LACKS_PRAGMA_ONCE */
22
 
 
23
 
/**
24
 
 * @class ACE_IPC_SAP
25
 
 *
26
 
 * @brief Defines the member functions for the base class of the
27
 
 * ACE_IPC_SAP abstraction.
28
 
 */
29
 
class ACE_Export ACE_IPC_SAP
30
 
{
31
 
public:
32
 
  /// Default dtor.
33
 
  ~ACE_IPC_SAP (void);
34
 
 
35
 
  /// Interface for <ioctl>.
36
 
  int control (int cmd, void *) const;
37
 
 
38
 
  // = Common I/O handle options related to sockets.
39
 
 
40
 
  /**
41
 
   * Enable asynchronous I/O (ACE_SIGIO), urgent data (ACE_SIGURG),
42
 
   * non-blocking I/O (ACE_NONBLOCK), or close-on-exec (ACE_CLOEXEC),
43
 
   * which is passed as the <value>.
44
 
   */
45
 
  int enable (int value) const;
46
 
 
47
 
  /**
48
 
   * Disable asynchronous I/O (ACE_SIGIO), urgent data (ACE_SIGURG),
49
 
   * non-blocking I/O (ACE_NONBLOCK), or close-on-exec (ACE_CLOEXEC),
50
 
   * which is passed as the <value>.
51
 
   */
52
 
  int disable (int value) const;
53
 
 
54
 
  /// Get the underlying handle.
55
 
  ACE_HANDLE get_handle (void) const;
56
 
 
57
 
  /// Set the underlying handle.
58
 
  void set_handle (ACE_HANDLE handle);
59
 
 
60
 
  /// Dump the state of an object.
61
 
  void dump (void) const;
62
 
 
63
 
  /// Declare the dynamic allocation hooks.
64
 
  ACE_ALLOC_HOOK_DECLARE;
65
 
 
66
 
protected:
67
 
  // = Ensure that ACE_IPC_SAP is an abstract base class.
68
 
  /// Default constructor.
69
 
  ACE_IPC_SAP (void);
70
 
 
71
 
private:
72
 
  /// Underlying I/O handle.
73
 
  ACE_HANDLE handle_;
74
 
 
75
 
  /// Cache the process ID.
76
 
  static pid_t pid_;
77
 
};
78
 
 
79
 
#if !defined (ACE_LACKS_INLINE_FUNCTIONS)
80
 
#include "ace/IPC_SAP.i"
81
 
#endif /* ACE_LACKS_INLINE_FUNCTIONS */
82
 
 
83
 
#include /**/ "ace/post.h"
84
 
#endif /* ACE_IPC_SAP_H */