home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / mfc / include / afxole.inl < prev    next >
Text File  |  1998-06-16  |  18KB  |  426 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1998 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. // Inlines for AFXOLE.H
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // General OLE inlines (CDocItem, COleDocument)
  15.  
  16. #ifdef _AFXOLE_INLINE
  17.  
  18. // CDocItem
  19. _AFXOLE_INLINE CDocument* CDocItem::GetDocument() const
  20.     { return m_pDocument; }
  21.  
  22. // COleDocument
  23. _AFXOLE_INLINE void COleDocument::EnableCompoundFile(BOOL bEnable)
  24.     { m_bCompoundFile = bEnable; }
  25.  
  26. // COleMessageFilter
  27. _AFXOLE_INLINE void COleMessageFilter::SetBusyReply(SERVERCALL nBusyReply)
  28.     { ASSERT_VALID(this); m_nBusyReply = nBusyReply; }
  29. _AFXOLE_INLINE void COleMessageFilter::SetRetryReply(DWORD nRetryReply)
  30.     { ASSERT_VALID(this); m_nRetryReply = nRetryReply; }
  31. _AFXOLE_INLINE void COleMessageFilter::SetMessagePendingDelay(DWORD nTimeout)
  32.     { ASSERT_VALID(this); m_nTimeout = nTimeout; }
  33. _AFXOLE_INLINE void COleMessageFilter::EnableBusyDialog(BOOL bEnable)
  34.     { ASSERT_VALID(this); m_bEnableBusy = bEnable; }
  35. _AFXOLE_INLINE void COleMessageFilter::EnableNotRespondingDialog(BOOL bEnable)
  36.     { ASSERT_VALID(this); m_bEnableNotResponding = bEnable; }
  37.  
  38. #endif //_AFXOLE_INLINE
  39.  
  40. /////////////////////////////////////////////////////////////////////////////
  41. // OLE Moniker inlines
  42.  
  43. #ifdef _AFXOLEMONIKER_INLINE
  44.  
  45. // CMonikerFile
  46. _AFXOLEMONIKER_INLINE CMonikerFile::CMonikerFile() { }
  47. _AFXOLEMONIKER_INLINE IMoniker* CMonikerFile::GetMoniker() const
  48.     { ASSERT_VALID(this); return m_Moniker; }
  49.  
  50. // CAsyncMonikerFile
  51. _AFXOLEMONIKER_INLINE IBinding* CAsyncMonikerFile::GetBinding() const
  52.     { ASSERT_VALID(this); return m_Binding; }
  53. _AFXOLEMONIKER_INLINE void CAsyncMonikerFile::SetBinding(IBinding* pBinding)
  54.     { ASSERT_VALID(this); m_Binding=pBinding; }
  55. _AFXOLEMONIKER_INLINE void CAsyncMonikerFile::SetFormatEtc(FORMATETC* pFormatEtc)
  56.     { ASSERT_VALID(this); m_pFormatEtc=pFormatEtc; }
  57. _AFXOLEMONIKER_INLINE FORMATETC* CAsyncMonikerFile::GetFormatEtc() const
  58.     { ASSERT_VALID(this); return m_pFormatEtc; }
  59.  
  60. #endif //_AFXOLEMONIKER_INLINE
  61.  
  62. /////////////////////////////////////////////////////////////////////////////
  63. // OLE automation inlines
  64.  
  65. #ifdef _AFXDISP_INLINE
  66.  
  67. // COleException
  68. _AFXDISP_INLINE COleException::COleException()
  69.     { m_sc = S_OK; }
  70. _AFXDISP_INLINE COleException::~COleException()
  71.     { }
  72.  
  73. // CCmdTarget
  74. _AFXDISP_INLINE DWORD CCmdTarget::InternalAddRef()
  75.     { ASSERT(GetInterfaceMap() != NULL); return InterlockedIncrement(&m_dwRef); }
  76.  
  77. // CObjectFactory
  78. _AFXDISP_INLINE BOOL COleObjectFactory::IsRegistered() const
  79.     { ASSERT_VALID(this); return m_dwRegister != 0; }
  80. _AFXDISP_INLINE REFCLSID COleObjectFactory::GetClassID() const
  81.     { ASSERT_VALID(this); return m_clsid; }
  82.  
  83. // COleDispatchDriver
  84. _AFXDISP_INLINE COleDispatchDriver::~COleDispatchDriver()
  85.     { ReleaseDispatch(); }
  86. _AFXDISP_INLINE COleDispatchDriver::operator LPDISPATCH()
  87.     { return m_lpDispatch; }
  88.  
  89. // COleVariant
  90. _AFXDISP_INLINE COleVariant::COleVariant()
  91.     { AfxVariantInit(this); }
  92. _AFXDISP_INLINE COleVariant::~COleVariant()
  93.     { VERIFY(::VariantClear(this) == NOERROR); }
  94. _AFXDISP_INLINE void COleVariant::Clear()
  95.     { VERIFY(::VariantClear(this) == NOERROR); }
  96. _AFXDISP_INLINE COleVariant::COleVariant(LPCTSTR lpszSrc)
  97.     { vt = VT_EMPTY; *this = lpszSrc; }
  98. _AFXDISP_INLINE COleVariant::COleVariant(CString& strSrc)
  99.     { vt = VT_EMPTY; *this = strSrc; }
  100. _AFXDISP_INLINE COleVariant::COleVariant(BYTE nSrc)
  101.     { vt = VT_UI1; bVal = nSrc; }
  102. _AFXDISP_INLINE COleVariant::COleVariant(const COleCurrency& curSrc)
  103.     { vt = VT_CY; cyVal = curSrc.m_cur; }
  104. _AFXDISP_INLINE COleVariant::COleVariant(float fltSrc)
  105.     { vt = VT_R4; fltVal = fltSrc; }
  106. _AFXDISP_INLINE COleVariant::COleVariant(double dblSrc)
  107.     { vt = VT_R8; dblVal = dblSrc; }
  108. _AFXDISP_INLINE COleVariant::COleVariant(const COleDateTime& dateSrc)
  109.     { vt = VT_DATE; date = dateSrc.m_dt; }
  110. _AFXDISP_INLINE COleVariant::COleVariant(const CByteArray& arrSrc)
  111.     { vt = VT_EMPTY; *this = arrSrc; }
  112. _AFXDISP_INLINE COleVariant::COleVariant(const CLongBinary& lbSrc)
  113.     { vt = VT_EMPTY; *this = lbSrc; }
  114. _AFXDISP_INLINE BOOL COleVariant::operator==(LPCVARIANT pSrc) const
  115.     { return *this == *pSrc; }
  116. _AFXDISP_INLINE COleVariant::operator LPVARIANT()
  117.     { return this; }
  118. _AFXDISP_INLINE COleVariant::operator LPCVARIANT() const
  119.     { return this; }
  120.  
  121. // COleCurrency
  122. _AFXDISP_INLINE COleCurrency::COleCurrency()
  123.     { m_cur.Hi = 0; m_cur.Lo = 0; SetStatus(valid); }
  124. _AFXDISP_INLINE COleCurrency::COleCurrency(CURRENCY cySrc)
  125.     { m_cur = cySrc; SetStatus(valid); }
  126. _AFXDISP_INLINE COleCurrency::COleCurrency(const COleCurrency& curSrc)
  127.     { m_cur = curSrc.m_cur; m_status = curSrc.m_status; }
  128. _AFXDISP_INLINE COleCurrency::COleCurrency(const VARIANT& varSrc)
  129.     { *this = varSrc; }
  130. _AFXDISP_INLINE COleCurrency::CurrencyStatus COleCurrency::GetStatus() const
  131.     { return m_status; }
  132. _AFXDISP_INLINE void COleCurrency::SetStatus(CurrencyStatus status)
  133.     { m_status = status; }
  134. _AFXDISP_INLINE const COleCurrency& COleCurrency::operator+=(const COleCurrency& cur)
  135.     { *this = *this + cur; return *this; }
  136. _AFXDISP_INLINE const COleCurrency& COleCurrency::operator-=(const COleCurrency& cur)
  137.     { *this = *this - cur; return *this; }
  138. _AFXDISP_INLINE const COleCurrency& COleCurrency::operator*=(long nOperand)
  139.     { *this = *this * nOperand; return *this; }
  140. _AFXDISP_INLINE const COleCurrency& COleCurrency::operator/=(long nOperand)
  141.     { *this = *this / nOperand; return *this; }
  142. _AFXDISP_INLINE BOOL COleCurrency::operator==(const COleCurrency& cur) const
  143.     { return(m_status == cur.m_status && m_cur.Hi == cur.m_cur.Hi &&
  144.         m_cur.Lo == cur.m_cur.Lo); }
  145. _AFXDISP_INLINE BOOL COleCurrency::operator!=(const COleCurrency& cur) const
  146.     { return(m_status != cur.m_status || m_cur.Hi != cur.m_cur.Hi ||
  147.         m_cur.Lo != cur.m_cur.Lo); }
  148. _AFXDISP_INLINE COleCurrency::operator CURRENCY() const
  149.     { return m_cur; }
  150.  
  151. // COleDateTime
  152. _AFXDISP_INLINE COleDateTime::COleDateTime()
  153.     { m_dt = 0; SetStatus(valid); }
  154. _AFXDISP_INLINE COleDateTime::COleDateTime(const COleDateTime& dateSrc)
  155.     { m_dt = dateSrc.m_dt; m_status = dateSrc.m_status; }
  156. _AFXDISP_INLINE COleDateTime::COleDateTime(const VARIANT& varSrc)
  157.     { *this = varSrc; }
  158. _AFXDISP_INLINE COleDateTime::COleDateTime(DATE dtSrc)
  159.     { m_dt = dtSrc; SetStatus(valid); }
  160. _AFXDISP_INLINE COleDateTime::COleDateTime(time_t timeSrc)
  161.     { *this = timeSrc; }
  162. _AFXDISP_INLINE COleDateTime::COleDateTime(const SYSTEMTIME& systimeSrc)
  163.     { *this = systimeSrc; }
  164. _AFXDISP_INLINE COleDateTime::COleDateTime(const FILETIME& filetimeSrc)
  165.     { *this = filetimeSrc; }
  166. _AFXDISP_INLINE COleDateTime::COleDateTime(int nYear, int nMonth, int nDay,
  167.     int nHour, int nMin, int nSec)
  168.     { SetDateTime(nYear, nMonth, nDay, nHour, nMin, nSec); }
  169. _AFXDISP_INLINE COleDateTime::COleDateTime(WORD wDosDate, WORD wDosTime)
  170.     { m_status = DosDateTimeToVariantTime(wDosDate, wDosTime, &m_dt) ?
  171.         valid : invalid; }
  172. _AFXDISP_INLINE const COleDateTime& COleDateTime::operator=(const COleDateTime& dateSrc)
  173.     { m_dt = dateSrc.m_dt; m_status = dateSrc.m_status; return *this; }
  174. _AFXDISP_INLINE COleDateTime::DateTimeStatus COleDateTime::GetStatus() const
  175.     { return m_status; }
  176. _AFXDISP_INLINE void COleDateTime::SetStatus(DateTimeStatus status)
  177.     { m_status = status; }
  178. _AFXDISP_INLINE BOOL COleDateTime::operator==(const COleDateTime& date) const
  179.     { return (m_status == date.m_status && m_dt == date.m_dt); }
  180. _AFXDISP_INLINE BOOL COleDateTime::operator!=(const COleDateTime& date) const
  181.     { return (m_status != date.m_status || m_dt != date.m_dt); }
  182. _AFXDISP_INLINE const COleDateTime& COleDateTime::operator+=(
  183.     const COleDateTimeSpan dateSpan)
  184.     { *this = *this + dateSpan; return *this; }
  185. _AFXDISP_INLINE const COleDateTime& COleDateTime::operator-=(
  186.     const COleDateTimeSpan dateSpan)
  187.     { *this = *this - dateSpan; return *this; }
  188. _AFXDISP_INLINE COleDateTime::operator DATE() const
  189.     { return m_dt; }
  190. _AFXDISP_INLINE int COleDateTime::SetDate(int nYear, int nMonth, int nDay)
  191.     { return SetDateTime(nYear, nMonth, nDay, 0, 0, 0); }
  192. _AFXDISP_INLINE int COleDateTime::SetTime(int nHour, int nMin, int nSec)
  193.     // Set date to zero date - 12/30/1899
  194.     { return SetDateTime(1899, 12, 30, nHour, nMin, nSec); }
  195.  
  196. // COleDateTimeSpan
  197. _AFXDISP_INLINE COleDateTimeSpan::COleDateTimeSpan()
  198.     { m_span = 0; SetStatus(valid); }
  199. _AFXDISP_INLINE COleDateTimeSpan::COleDateTimeSpan(double dblSpanSrc)
  200.     { m_span = dblSpanSrc; SetStatus(valid); }
  201. _AFXDISP_INLINE COleDateTimeSpan::COleDateTimeSpan(
  202.     const COleDateTimeSpan& dateSpanSrc)
  203.     { m_span = dateSpanSrc.m_span; m_status = dateSpanSrc.m_status; }
  204. _AFXDISP_INLINE COleDateTimeSpan::COleDateTimeSpan(
  205.     long lDays, int nHours, int nMins, int nSecs)
  206.     { SetDateTimeSpan(lDays, nHours, nMins, nSecs); }
  207. _AFXDISP_INLINE COleDateTimeSpan::DateTimeSpanStatus COleDateTimeSpan::GetStatus() const
  208.     { return m_status; }
  209. _AFXDISP_INLINE void COleDateTimeSpan::SetStatus(DateTimeSpanStatus status)
  210.     { m_status = status; }
  211. _AFXDISP_INLINE double COleDateTimeSpan::GetTotalDays() const
  212.     { ASSERT(GetStatus() == valid); return m_span; }
  213. _AFXDISP_INLINE double COleDateTimeSpan::GetTotalHours() const
  214.     { ASSERT(GetStatus() == valid);
  215.         long lReturns = (long)(m_span * 24 + AFX_OLE_DATETIME_HALFSECOND);
  216.         return lReturns;
  217.     }
  218. _AFXDISP_INLINE double COleDateTimeSpan::GetTotalMinutes() const
  219.     { ASSERT(GetStatus() == valid);
  220.         long lReturns = (long)(m_span * 24 * 60 + AFX_OLE_DATETIME_HALFSECOND);
  221.         return lReturns;
  222.     }
  223. _AFXDISP_INLINE double COleDateTimeSpan::GetTotalSeconds() const
  224.     { ASSERT(GetStatus() == valid);
  225.         long lReturns = (long)(m_span * 24 * 60 * 60 + AFX_OLE_DATETIME_HALFSECOND);
  226.         return lReturns;
  227.     }
  228.  
  229. _AFXDISP_INLINE long COleDateTimeSpan::GetDays() const
  230.     { ASSERT(GetStatus() == valid); return (long)m_span; }
  231. _AFXDISP_INLINE BOOL COleDateTimeSpan::operator==(
  232.     const COleDateTimeSpan& dateSpan) const
  233.     { return (m_status == dateSpan.m_status &&
  234.         m_span == dateSpan.m_span); }
  235. _AFXDISP_INLINE BOOL COleDateTimeSpan::operator!=(
  236.     const COleDateTimeSpan& dateSpan) const
  237.     { return (m_status != dateSpan.m_status ||
  238.         m_span != dateSpan.m_span); }
  239. _AFXDISP_INLINE BOOL COleDateTimeSpan::operator<(
  240.     const COleDateTimeSpan& dateSpan) const
  241.     { ASSERT(GetStatus() == valid);
  242.         ASSERT(dateSpan.GetStatus() == valid);
  243.         return m_span < dateSpan.m_span; }
  244. _AFXDISP_INLINE BOOL COleDateTimeSpan::operator>(
  245.     const COleDateTimeSpan& dateSpan) const
  246.     { ASSERT(GetStatus() == valid);
  247.         ASSERT(dateSpan.GetStatus() == valid);
  248.         return m_span > dateSpan.m_span; }
  249. _AFXDISP_INLINE BOOL COleDateTimeSpan::operator<=(
  250.     const COleDateTimeSpan& dateSpan) const
  251.     { ASSERT(GetStatus() == valid);
  252.         ASSERT(dateSpan.GetStatus() == valid);
  253.         return m_span <= dateSpan.m_span; }
  254. _AFXDISP_INLINE BOOL COleDateTimeSpan::operator>=(
  255.     const COleDateTimeSpan& dateSpan) const
  256.     { ASSERT(GetStatus() == valid);
  257.         ASSERT(dateSpan.GetStatus() == valid);
  258.         return m_span >= dateSpan.m_span; }
  259. _AFXDISP_INLINE const COleDateTimeSpan& COleDateTimeSpan::operator+=(
  260.     const COleDateTimeSpan dateSpan)
  261.     { *this = *this + dateSpan; return *this; }
  262. _AFXDISP_INLINE const COleDateTimeSpan& COleDateTimeSpan::operator-=(
  263.     const COleDateTimeSpan dateSpan)
  264.     { *this = *this - dateSpan; return *this; }
  265. _AFXDISP_INLINE COleDateTimeSpan COleDateTimeSpan::operator-() const
  266.     { return -this->m_span; }
  267. _AFXDISP_INLINE COleDateTimeSpan::operator double() const
  268.     { return m_span; }
  269.  
  270. // COleSafeArray
  271. _AFXDISP_INLINE COleSafeArray::COleSafeArray()
  272.     { AfxSafeArrayInit(this);
  273.         vt = VT_EMPTY; }
  274. _AFXDISP_INLINE COleSafeArray::~COleSafeArray()
  275.     { Clear(); }
  276. _AFXDISP_INLINE void COleSafeArray::Clear()
  277.     { VERIFY(::VariantClear(this) == NOERROR); }
  278. _AFXDISP_INLINE COleSafeArray::operator LPVARIANT()
  279.     { return this; }
  280. _AFXDISP_INLINE COleSafeArray::operator LPCVARIANT() const
  281.     { return this; }
  282. _AFXDISP_INLINE DWORD COleSafeArray::GetDim()
  283.     { return ::SafeArrayGetDim(parray); }
  284. _AFXDISP_INLINE DWORD COleSafeArray::GetElemSize()
  285.     { return ::SafeArrayGetElemsize(parray); }
  286.  
  287. #endif //_AFXDISP_INLINE
  288.  
  289. /////////////////////////////////////////////////////////////////////////////
  290. // OLE Container inlines
  291.  
  292. #ifdef _AFXOLECLI_INLINE
  293.  
  294. // COleClientItem
  295. _AFXOLECLI_INLINE SCODE COleClientItem::GetLastStatus() const
  296.     { ASSERT_VALID(this); return m_scLast; }
  297. _AFXOLECLI_INLINE COleDocument* COleClientItem::GetDocument() const
  298.     { ASSERT_VALID(this); return (COleDocument*)m_pDocument; }
  299. _AFXOLECLI_INLINE OLE_OBJTYPE COleClientItem::GetType() const
  300.     { ASSERT_VALID(this); return m_nItemType; }
  301. _AFXOLECLI_INLINE DVASPECT COleClientItem::GetDrawAspect() const
  302.     { ASSERT_VALID(this); return m_nDrawAspect; }
  303. _AFXOLECLI_INLINE BOOL COleClientItem::IsRunning() const
  304.     { ASSERT_VALID(this);
  305.         ASSERT(m_lpObject != NULL);
  306.         return ::OleIsRunning(m_lpObject); }
  307. _AFXOLECLI_INLINE UINT COleClientItem::GetItemState() const
  308.     { ASSERT_VALID(this); return m_nItemState; }
  309. _AFXOLECLI_INLINE BOOL COleClientItem::IsInPlaceActive() const
  310.     { ASSERT_VALID(this);
  311.         return m_nItemState == activeState || m_nItemState == activeUIState; }
  312. _AFXOLECLI_INLINE BOOL COleClientItem::IsOpen() const
  313.     { ASSERT_VALID(this); return m_nItemState == openState; }
  314. _AFXOLECLI_INLINE BOOL COleClientItem::IsLinkUpToDate() const
  315.     { ASSERT_VALID(this);
  316.         ASSERT(m_lpObject != NULL);
  317.         // TRUE if result is S_OK (aka S_TRUE)
  318.         return m_lpObject->IsUpToDate() == NOERROR; }
  319. _AFXOLECLI_INLINE CView* COleClientItem::GetActiveView() const
  320.     { return m_pView; }
  321.  
  322. // COleLinkingDoc
  323. _AFXOLECLI_INLINE void COleLinkingDoc::BeginDeferErrors()
  324.     { ASSERT(m_pLastException == NULL); ++m_bDeferErrors; }
  325.  
  326. #endif //_AFXOLECLI_INLINE
  327.  
  328. #ifdef _AFXOLEDOBJ_INLINE
  329.  
  330. // COleDataObject
  331. _AFXOLEDOBJ_INLINE COleDataObject::~COleDataObject()
  332.     { Release(); }
  333.  
  334. #endif //_AFXOLECTL_INLINE
  335.  
  336. /////////////////////////////////////////////////////////////////////////////
  337. // OLE dialog inlines
  338.  
  339. #ifdef _AFXODLGS_INLINE
  340.  
  341. _AFXODLGS_INLINE UINT COleDialog::GetLastError() const
  342.     { return m_nLastError; }
  343. _AFXODLGS_INLINE CString COleInsertDialog::GetPathName() const
  344.     { ASSERT_VALID(this);
  345.         ASSERT(GetSelectionType() != createNewItem); return m_szFileName; }
  346. _AFXODLGS_INLINE REFCLSID COleInsertDialog::GetClassID() const
  347.     { ASSERT_VALID(this); return m_io.clsid; }
  348. _AFXODLGS_INLINE HGLOBAL COleInsertDialog::GetIconicMetafile() const
  349.     { ASSERT_VALID(this); return m_io.hMetaPict; }
  350. _AFXODLGS_INLINE DVASPECT COleInsertDialog::GetDrawAspect() const
  351.     { ASSERT_VALID(this); return m_io.dwFlags & IOF_CHECKDISPLAYASICON ?
  352.         DVASPECT_ICON : DVASPECT_CONTENT; }
  353. _AFXODLGS_INLINE HGLOBAL COleConvertDialog::GetIconicMetafile() const
  354.     { ASSERT_VALID(this); return m_cv.hMetaPict; }
  355. _AFXODLGS_INLINE DVASPECT COleConvertDialog::GetDrawAspect() const
  356.     { ASSERT_VALID(this); return (DVASPECT)m_cv.dvAspect; }
  357. _AFXODLGS_INLINE REFCLSID COleConvertDialog::GetClassID() const
  358.     { ASSERT_VALID(this); return m_cv.clsidNew; }
  359. _AFXODLGS_INLINE HGLOBAL COleChangeIconDialog::GetIconicMetafile() const
  360.     { ASSERT_VALID(this); return m_ci.hMetaPict; }
  361. _AFXODLGS_INLINE int COlePasteSpecialDialog::GetPasteIndex() const
  362.     { ASSERT_VALID(this); return m_ps.nSelectedIndex; }
  363. _AFXODLGS_INLINE DVASPECT COlePasteSpecialDialog::GetDrawAspect() const
  364.     { ASSERT_VALID(this); return m_ps.dwFlags & PSF_CHECKDISPLAYASICON ?
  365.         DVASPECT_ICON : DVASPECT_CONTENT; }
  366. _AFXODLGS_INLINE HGLOBAL COlePasteSpecialDialog::GetIconicMetafile() const
  367.     { ASSERT_VALID(this); return m_ps.hMetaPict; }
  368. _AFXODLGS_INLINE UINT COleBusyDialog::GetSelectionType() const
  369.     { ASSERT_VALID(this); return m_selection; }
  370.  
  371. _AFXODLGS_INLINE BOOL COleChangeSourceDialog::IsValidSource()
  372.     { return m_cs.dwFlags & CSF_VALIDSOURCE; }
  373. _AFXODLGS_INLINE CString COleChangeSourceDialog::GetDisplayName()
  374.     { return m_cs.lpszDisplayName; }
  375. _AFXODLGS_INLINE CString COleChangeSourceDialog::GetFileName()
  376.     { return CString(m_cs.lpszDisplayName, m_cs.nFileLength); }
  377. _AFXODLGS_INLINE CString COleChangeSourceDialog::GetItemName()
  378.     { return m_cs.lpszDisplayName+m_cs.nFileLength; }
  379. _AFXODLGS_INLINE CString COleChangeSourceDialog::GetFromPrefix()
  380.     { return m_cs.lpszFrom; }
  381. _AFXODLGS_INLINE CString COleChangeSourceDialog::GetToPrefix()
  382.     { return m_cs.lpszTo; }
  383.  
  384. #endif //_AFXODLGS_INLINE
  385.  
  386. /////////////////////////////////////////////////////////////////////////////
  387. // OLE Server inlines
  388.  
  389. #ifdef _AFXOLESVR_INLINE
  390.  
  391. // COleServerItem
  392. _AFXOLESVR_INLINE COleServerDoc* COleServerItem::GetDocument() const
  393.     { ASSERT_VALID(this); return (COleServerDoc*)m_pDocument; }
  394. _AFXOLESVR_INLINE void COleServerItem::NotifyChanged(DVASPECT nDrawAspect)
  395.     { ASSERT_VALID(this); NotifyClient(OLE_CHANGED, nDrawAspect); }
  396. _AFXOLESVR_INLINE const CString& COleServerItem::GetItemName() const
  397.     { ASSERT_VALID(this); return m_strItemName; }
  398. _AFXOLESVR_INLINE void COleServerItem::SetItemName(LPCTSTR lpszItemName)
  399. {
  400.     ASSERT_VALID(this);
  401.     ASSERT(lpszItemName != NULL);
  402.     ASSERT(AfxIsValidString(lpszItemName));
  403.     m_strItemName = lpszItemName;
  404. }
  405. _AFXOLESVR_INLINE BOOL COleServerItem::IsLinkedItem() const
  406.     { ASSERT_VALID(this); return GetDocument()->m_pEmbeddedItem != this; }
  407. _AFXOLESVR_INLINE COleDataSource* COleServerItem::GetDataSource()
  408.     { ASSERT_VALID(this); return &m_dataSource; }
  409.  
  410. // COleServerDoc
  411. _AFXOLESVR_INLINE void COleServerDoc::NotifyChanged()
  412.     { ASSERT_VALID(this); NotifyAllItems(OLE_CHANGED, DVASPECT_CONTENT); }
  413. _AFXOLESVR_INLINE void COleServerDoc::NotifyClosed()
  414.     { ASSERT_VALID(this); NotifyAllItems(OLE_CLOSED, 0); }
  415. _AFXOLESVR_INLINE void COleServerDoc::NotifySaved()
  416.     { ASSERT_VALID(this); NotifyAllItems(OLE_SAVED, 0); }
  417. _AFXOLESVR_INLINE BOOL COleServerDoc::IsEmbedded() const
  418.     { ASSERT_VALID(this); return m_bEmbedded; }
  419. _AFXOLESVR_INLINE BOOL COleServerDoc::IsDocObject() const
  420.     { ASSERT_VALID(this); return m_pDocObjectServer != NULL; }
  421. _AFXOLESVR_INLINE BOOL COleServerDoc::IsInPlaceActive() const
  422.     { ASSERT_VALID(this); return m_pInPlaceFrame != NULL; }
  423. #endif //_AFXOLESVR_INLINE
  424.  
  425. /////////////////////////////////////////////////////////////////////////////
  426.