/[svn]/linuxsampler/trunk/src/engines/EngineChannelFactory.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/EngineChannelFactory.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 890 by schoenebeck, Sat Jul 1 13:43:04 2006 UTC revision 1826 by iliev, Sat Jan 24 14:32:35 2009 UTC
# Line 27  Line 27 
27    
28  namespace LinuxSampler {  namespace LinuxSampler {
29    
30        /** @brief Manages EngineChannel instances.
31         *
32         * This class is used to create and destroy EngineChannel instances of the
33         * various engine types supported by this sampler. It's basically used to
34         * avoid dependencies to palpable sampler engine types /
35         * implementations.
36         */
37      class EngineChannelFactory {      class EngineChannelFactory {
38          public:          public:
39                /**
40                 * Create EngineChannel instance of given engine type.
41                 *
42                 * @see EngineFactory::AvailableEngineTypes()
43                 */
44              static EngineChannel* Create(String EngineType) throw (Exception);              static EngineChannel* Create(String EngineType) throw (Exception);
45    
46                /**
47                 * Destroy given EngineChannel instance.
48                 */
49              static void Destroy(EngineChannel* pEngineChannel);              static void Destroy(EngineChannel* pEngineChannel);
50    
51                /**
52                 * Returns all EngineChannel instances.
53                 */
54              static const std::set<EngineChannel*>& EngineChannelInstances();              static const std::set<EngineChannel*>& EngineChannelInstances();
55    
56                /**
57                 * Specifies whether the deallocation of the specified EngineChannel
58                 * object should be postponed. When the object deletion is diabled
59                 * it is not freed from memory (when destroyed) until it is enabled.
60                 * Used to prevent orphaned pointers.
61                 */
62                static void SetDeleteEnabled(const EngineChannel* pEngineChannel, bool enable);
63    
64            private:
65                static Mutex LockedChannelsMutex;
66      };      };
67    
68  } // namespace LinuxSampler  } // namespace LinuxSampler

Legend:
Removed from v.890  
changed lines
  Added in v.1826

  ViewVC Help
Powered by ViewVC