Exemple #1
0
Boolean FileReader::Close()
{
  Boolean InCloseOK_, OutCloseOK_;

  if (SharedBuffer())
    return (((filebuf*)ios::rdbuf())->close() != 0);

  InCloseOK_ = GetInBuffer()->close() != 0;
  OutCloseOK_ = GetOutBuffer()->close() != 0;

  return (InCloseOK_ && OutCloseOK_);
}
Exemple #2
0
Boolean FileReader::Open(const char* Fname_, int Mode_)
{
  if (SharedBuffer())
  {
    if ((Mode_ & ios::out) || (Mode_ & ios::app))
      return OpenOut(Fname_, Mode_);
    else if (Mode_ & ios::in)
      return OpenIn(Fname_, Mode_);
  }
  else
  {
    Boolean OpenOK_ = TRUE;

    if ((Mode_ & ios::out) || (Mode_ & ios::app))
      OpenOK_ = OpenOut(Fname_, Mode_);

    if (Mode_ & ios::in)
      OpenOK_ = OpenOK_ && OpenIn(Fname_, Mode_);

    return OpenOK_;
  }

  return FALSE;
}
void BoostConnection::doWrite(const ByteArray& data) {
	boost::asio::async_write(socket_, SharedBuffer(data),
			boost::bind(&BoostConnection::handleDataWritten, shared_from_this(), boost::asio::placeholders::error));
}