Parts.txt
========================================
The parts in this demo are:
- GUI (C# WPF Application)
  - Demonstrates C# user interface sending messages through native C++ communication channel to a remote server.
  - Connects to channel through Translater
- Translater (C++\CLI dll)
  - Defines managed message class
  - Translates managed messages and strings to native messages and strings and vice versa.
  - Connects to channel via the CommLibWrapper.
  - Managed code (C++\CLI) is isolated from native code (C++) using IComm interface and CommLibWrapper factory
- MessagePassingComm (C++)
  - Sends messages through socket-based one-way channels
  - Sends files as a series of chunks with message headers
  - Each endpoint has both a sender and receiver, wrapped in a Comm object
- Sockets (C++)
  - Socket library the supports both IP4 and IP6 protocols
  - Provides three classes Socket, SocketConnector, and SocketListener
- Message (C++)
  - Defines messages as collections of attributes
- ServerPrototype (C++)
  - Processes incoming messages based on ServerProc callable objects, keyed to a message's command attribute
- FileSystem (C++)
  - Provides static functions for managing files, paths, and directories
- 