📄 socket.cpp
字号:
//===========================================================================//
// File: socket.cc //
// Contents: Implementation details for Socket and its iterator //
//---------------------------------------------------------------------------//
// Copyright (C) Microsoft Corporation. All rights reserved. //
//===========================================================================//
#include "StuffHeaders.hpp"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Socket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//#############################################################################
// Socket
//#############################################################################
//
Socket::Socket(Node *node)
{
socketsNode = node;
}
//
//#############################################################################
// ~Socket
//#############################################################################
//
Socket::~Socket()
{
Check_Object(this);
}
//
//#############################################################################
// AddImplementation
//#############################################################################
//
void
Socket::AddImplementation(Plug*)
{
Check_Object(this);
STOP(("Socket::AddImplementation - virtual method with no override"));
}
//
//#############################################################################
// IsEmpty
//#############################################################################
//
bool
Socket::IsEmpty()
{
Check_Object(this);
STOP(("Socket::IsEmpty - virtual method with no override"));
return true;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SocketIterator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//#############################################################################
// Remove
//#############################################################################
//
void
SocketIterator::Remove()
{
Check_Object(this);
STOP(("SocketIterator::Remove - Should never reach here"));
}
//
//#############################################################################
// DeletePlugs
//#############################################################################
//
void
SocketIterator::DeletePlugs(bool defeat_release_node)
{
Check_Object(this);
Plug *plug;
Node *save_release_node = NULL;
if (defeat_release_node)
{
Check_Object(socket);
save_release_node = socket->GetReleaseNode();
socket->SetReleaseNode(NULL);
}
First();
while ((plug = ReadAndNextPlug()) != NULL)
{
Unregister_Object(plug);
delete plug;
}
if (defeat_release_node)
{
Check_Object(socket);
socket->SetReleaseNode(save_release_node);
}
}
//
//#############################################################################
// InsertImplementation
//#############################################################################
//
void
SocketIterator::InsertImplementation(Plug*)
{
//
// Should never reach here
//
Check_Object(this);
STOP(("SocketIterator::InsertImplementation - Should never reach here"));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -