00001 #ifndef FdoBulkCopyProgress_H
00002 #define FdoBulkCopyProgress_H
00003
00004 /*
00005 * (C) Copyright 2006 by Autodesk, Inc. All Rights Reserved.
00006 *
00007 * By using this code, you are agreeing to the terms and conditions of
00008 * the License Agreement included in the documentation for this code.
00009 *
00010 * AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE
00011 * CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
00012 * IT. AUTODESK PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY
00013 * DISCLAIMS ANY LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL
00014 * DAMAGES FOR ERRORS, OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00015 *
00016 * Use, duplication, or disclosure by the U.S. Government is subject
00017 * to restrictions set forth in FAR 52.227-19 (Commercial Computer
00018 * Software Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00019 * (Rights in Technical Data and Computer Software), as applicable.
00020 *
00021 */
00022
00023 #include <Utilities/BulkCopy/FdoIBulkCopyProgressArgs.h>
00024
00025 /// \brief
00026 /// The FdoBulkCopyProgress class represents the bulk copy progress reporting class.
00027 class FdoBulkCopyProgress : public FdoIDisposable
00028 {
00029 public:
00030 /// \brief
00031 /// Sets the frequency. The ObjectAdded method is called after
00032 /// attempting to add every N objects where N is the frequency.
00033 ///
00034 /// \return
00035 /// Returns nothing.
00036 ///
00037 FDOBULKCOPY_API void SetFrequency(FdoInt32 value);
00038
00039 /// \brief
00040 /// Gets the frequency.
00041 ///
00042 /// \return
00043 /// Returns the frequency.
00044 FDOBULKCOPY_API FdoInt32 GetFrequency();
00045
00046 /// \brief
00047 /// Callback method for the progress.
00048 ///
00049 /// \return
00050 /// Returns nothing.
00051 virtual void ObjectAdded(FdoIBulkCopyProgressArgs *args) = 0;
00052
00053 /// \cond DOXYGEN-IGNORE
00054 protected:
00055 FDOBULKCOPY_API FdoBulkCopyProgress() : mFrequency(1){};
00056
00057 private:
00058 FdoInt32 mFrequency;
00059 /// \endcond
00060
00061 };
00062
00063 #endif