<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML ><HEAD ><TITLE >MCOP: Object Model and Streaming</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.61 "><LINK REL="HOME" TITLE="The aRts Handbook" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Mapped Instruments" HREF="mapped-instruments.html"><LINK REL="NEXT" TITLE="Interfaces and IDL" HREF="interfaces.html"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="stylesheet" HREF="common/kde-common.css" TYPE="text/css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META HTTP-EQUIV="Content-Language" CONTENT="en"><LINK REL="stylesheet" HREF="common/kde-localised.css" TYPE="text/css" TITLE="KDE-English"><LINK REL="stylesheet" HREF="common/kde-default.css" TYPE="text/css" TITLE="KDE-Default"></HEAD ><BODY CLASS="CHAPTER" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#AA0000" VLINK="#AA0055" ALINK="#AA0000" STYLE="font-family: sans-serif;" ><DIV CLASS="logoheader" ><A HREF="http://www.kde.org/" ><IMG SRC="common/logotp3.png" BORDER="0" ALT="The K Desktop Environment" HEIGHT="62" WIDTH="229"></A ></DIV ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >The <SPAN CLASS="APPLICATION" >aRts</SPAN > Handbook</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="mapped-instruments.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="interfaces.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="MCOP" >Chapter 6. MCOP: Object Model and Streaming</A ></H1 ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="MCOP-OVERVIEW" >6.1. Overview</A ></H1 ><P ><SPAN CLASS="ACRONYM" >MCOP</SPAN > is the standard <SPAN CLASS="APPLICATION" >aRts</SPAN > uses for:</P ><UL ><LI ><P >communication between objects</P ></LI ><LI ><P >network transparency</P ></LI ><LI ><P >describing object interfaces</P ></LI ><LI ><P >language independancy</P ></LI ></UL ><P >One major aspect of <SPAN CLASS="ACRONYM" >MCOP</SPAN > is the <I CLASS="EMPHASIS" >interface description language</I >, <SPAN CLASS="ACRONYM" >IDL</SPAN >, in which many of the <SPAN CLASS="APPLICATION" >aRts</SPAN > interfaces and <SPAN CLASS="ACRONYM" >API</SPAN >s are defined in a language independand way. To use IDL interfaces from C++, is compiled by the <SPAN CLASS="ACRONYM" >IDL</SPAN > compiler into C++ code. When you implement an interface, you derive from the skeleton class the <SPAN CLASS="ACRONYM" >IDL</SPAN > compiler has generated. When you use an interface, you do so using a wrapper. This way, <SPAN CLASS="ACRONYM" >MCOP</SPAN > can use a protocol if the object you are talking to is not local - you get network transparency.</P ><P >This chapter is supposed to describe the basic features of the object model that results from the use of <SPAN CLASS="ACRONYM" >MCOP</SPAN >, the protocol, how do use <SPAN CLASS="ACRONYM" >MCOP</SPAN > in C++ (language binding), and so on.</P ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="mapped-instruments.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="interfaces.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Mapped Instruments</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Interfaces and <SPAN CLASS="ACRONYM" >IDL</SPAN ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >