|  | /******************************************************************************* | 
|  | * Copyright (c) 2012 IBM Corporation and others. | 
|  | * All rights reserved. This program and the accompanying materials | 
|  | * are made available under the terms of the Eclipse Public License v2.0 | 
|  | * which accompanies this distribution, and is available at | 
|  | * https://www.eclipse.org/legal/epl-2.0/ | 
|  | * | 
|  | * Contributors: | 
|  | *     IBM Corporation - initial API and implementation | 
|  | *******************************************************************************/ | 
|  |  | 
|  |  | 
|  | #include "stdafx.h" | 
|  | #include "CrossfireRequest.h" | 
|  |  | 
|  | CrossfireRequest::CrossfireRequest() : CrossfirePacket() { | 
|  | m_arguments = NULL; | 
|  | } | 
|  |  | 
|  | CrossfireRequest::~CrossfireRequest() { | 
|  | if (m_arguments) { | 
|  | delete m_arguments; | 
|  | } | 
|  | } | 
|  |  | 
|  | void CrossfireRequest::clone(CrossfirePacket** _value) { | 
|  | CrossfireRequest* result = new CrossfireRequest(); | 
|  | result->setArguments(m_arguments); | 
|  | result->setContextId(getContextId()); | 
|  | result->setName(getName()); | 
|  | *_value = result; | 
|  | } | 
|  |  | 
|  | Value* CrossfireRequest::getArguments() { | 
|  | return m_arguments; | 
|  | } | 
|  |  | 
|  | int CrossfireRequest::getType() { | 
|  | return TYPE_REQUEST; | 
|  | } | 
|  |  | 
|  | bool CrossfireRequest::setArguments(Value* value) { | 
|  | if (value && value->getType() != TYPE_OBJECT) { | 
|  | return false; | 
|  | } | 
|  | if (m_arguments) { | 
|  | delete m_arguments; | 
|  | m_arguments = NULL; | 
|  | } | 
|  | if (value) { | 
|  | value->clone(&m_arguments); | 
|  | } | 
|  | return true; | 
|  | } |