update tizen source
[framework/messaging/msg-service.git] / include / common / MsgCppTypes.h
1 /*
2 *
3 * Copyright (c) 2000-2012 Samsung Electronics Co., Ltd. All Rights Reserved.
4 *
5 * This file is part of msg-service.
6 *
7 * Contact: Jaeyun Jeong <jyjeong@samsung.com>
8 *          Sangkoo Kim <sangkoo.kim@samsung.com>
9 *          Seunghwan Lee <sh.cat.lee@samsung.com>
10 *          SoonMin Jung <sm0415.jung@samsung.com>
11 *          Jae-Young Lee <jy4710.lee@samsung.com>
12 *          KeeBum Kim <keebum.kim@samsung.com>
13 *
14 * PROPRIETARY/CONFIDENTIAL
15 *
16 * This software is the confidential and proprietary information of
17 * SAMSUNG ELECTRONICS ("Confidential Information"). You shall not
18 * disclose such Confidential Information and shall use it only in
19 * accordance with the terms of the license agreement you entered
20 * into with SAMSUNG ELECTRONICS.
21 *
22 * SAMSUNG make no representations or warranties about the suitability
23 * of the software, either express or implied, including but not limited
24 * to the implied warranties of merchantability, fitness for a particular
25 * purpose, or non-infringement. SAMSUNG shall not be liable for any
26 * damages suffered by licensee as a result of using, modifying or
27 * distributing this software or its derivatives.
28 *
29 */
30
31 #ifndef __MSG_CPP_TYPES_H__
32 #define __MSG_CPP_TYPES_H__
33
34 /*==================================================================================================
35                                          INCLUDE FILES
36 ==================================================================================================*/
37 #include <stdio.h>
38 #include <vector>
39
40 typedef std::vector<char> CharVector;
41
42 template <class T>
43
44 class AutoPtr
45 {
46 private:
47         T** ptr; // Caution: Memory allocation should be done by "new" not "malloc"
48
49
50 public:
51         AutoPtr():ptr(NULL) {}
52
53         AutoPtr(T** target) { ptr = target; }
54
55         ~AutoPtr()
56         {
57                 if (ptr)
58                 {
59                         if ( *ptr )     delete[] *ptr;
60                 }
61         }
62 };
63
64 #endif // #ifndef __MSG_CPP_TYPES_H__
65