Listing 4: Class CustomerOrder.
#if !defined(CUSTOMERORDER__H)
#define CUSTOMERORDER__H
#include "XmlBinding.h"
#include <iostream>
using std::wostream;
class CustomerOrder
{
BEGIN_XML_BINDING(L"CustomerOrder", CustomerOrder)
XML_ELEMENT(L"OrderID", eXML_INT, m_OrderID)
XML_ELEMENT(L"Customer", eXML_STRING, m_CustomerName)
XML_ELEMENT(L"Item", eXML_STRING, m_ItemName)
XML_ELEMENT(L"Unit", eXML_STRING, m_Unit)
XML_ELEMENT(L"Quantity", eXML_DOUBLE, m_Quantity)
END_XML_BINDING()
int m_OrderID;
wchar_t m_CustomerName[20];
wchar_t m_ItemName[20];
wchar_t m_Unit[20];
double m_Quantity;
public:
friend wostream& operator << (wostream& wo, const CustomerOrder& order);
};
wostream& operator << (wostream& wo, const CustomerOrder& order)
{
return wo << L"Order " << order.m_OrderID
<< L" from " << order.m_CustomerName
<< L": " << order.m_ItemName
<< L" " << order.m_Quantity
<< L" " << order.m_Unit
<< L"s has been processed." << std::endl;
}
#endif